From b49941608a8d37ca6bedf2529a703876530124d4 Mon Sep 17 00:00:00 2001 From: George Halkiadakis Date: Tue, 16 May 2023 02:48:50 +0300 Subject: anom refactoring; remove noisy depricated files --- core/config/init.php | 59 ---- core/config/xx--anom_settings.php | 66 ----- core/config/xx--constants.php | 28 -- docker-compose.yml | 1 + env.example | 2 + public/app/config/bootstrap.php | 62 +++++ public/app/config/setup-application.php | 478 -------------------------------- public/app/config/setup-framework.php | 469 ------------------------------- public/app/config/setup_application.php | 478 ++++++++++++++++++++++++++++++++ public/app/config/setup_framework.php | 472 +++++++++++++++++++++++++++++++ public/index.php | 19 +- 11 files changed, 1026 insertions(+), 1108 deletions(-) delete mode 100644 core/config/init.php delete mode 100644 core/config/xx--anom_settings.php delete mode 100644 core/config/xx--constants.php create mode 100644 public/app/config/bootstrap.php delete mode 100644 public/app/config/setup-application.php delete mode 100644 public/app/config/setup-framework.php create mode 100644 public/app/config/setup_application.php create mode 100644 public/app/config/setup_framework.php diff --git a/core/config/init.php b/core/config/init.php deleted file mode 100644 index 40624d3..0000000 --- a/core/config/init.php +++ /dev/null @@ -1,59 +0,0 @@ - 'text/html; charset=UTF-8', - 'html' => 'text/html; charset=UTF-8', - 'json' => 'application/json; charset=utf-8', - 'js' => 'application/javascript; charset=utf-8', - 'css' => 'text/css', - 'png' => 'image/png', - 'jpeg' => 'image/jpeg', - 'webp' => 'image/web' - ) -); - - -// PROXY_FLAGS -// ----------------------------------------------------------------------------- -// These options represend altered/non-default behaviour -// and will be resolved bitwise, so use powers of 2 -// ----------------------------------------------------------------------------- -define('PROXY_CACHE_ERRORS', 1); // cache result even if error -define('PROXY_IGNORE_CACHE', 2); // ignore cache if exist -define('PROXY_DO_NOT_CACHE', 4); // do not cache result diff --git a/docker-compose.yml b/docker-compose.yml index adf7b7d..e41843d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,6 +19,7 @@ services: - "./storage:/var/www/storage" - "./tests:/var/www/tests" - "./tests:/var/www/public/files" + - "./.env:/var/www/.env" environment: PORT: 8080 # for xdebug uncomment next subsection diff --git a/env.example b/env.example index fd47dd8..49e0882 100644 --- a/env.example +++ b/env.example @@ -1,4 +1,6 @@ ENVIRONMENT='development' +ANOM_HOSTNAME= +APP_VERSION='init-alfa' # MySQL connection # --- -- -- - - - diff --git a/public/app/config/bootstrap.php b/public/app/config/bootstrap.php new file mode 100644 index 0000000..a51272e --- /dev/null +++ b/public/app/config/bootstrap.php @@ -0,0 +1,62 @@ + 'Login', - 2 => 'Account', - 3 => 'Request' -]); - - - -// ERRORS AND ERROR MESSAGES /////////////////////////////////////////////////// -// ----------------------------------------------------------------------------- - -define('EMPTY_REQUIRED_FIELDS', 'Δεν έχουν συμπληρωθεί όλα τα υποχρεωτικά πεδία'); - - - -// ASSETS: PATHS USED HEAVILY ////////////////////////////////////////////////// -// ----------------------------------------------------------------------------- -// these paths are used in order to easily find and autoload useful elemets - - -// JAVASCRIPT LIBRARY PATHS -// ----------------------------------------------------------------------------- -define('JS_DIR', '/content/'); // path to contruct link - - - -// CSS ASSET PATHS -// ----------------------------------------------------------------------------- -define('CSS_DIR', '/content/css/'); // path to contruct link -define('CSS_FILES', array( // path after to the actual file - 'main' => 'main.min.css', - 'filter' => 'filter.css', - 'overides' => 'overides.css', - ) -); - - - -// Mesagges //////////////////////////////////////////////////////////////////// -// ----------------------------------------------------------------------------- - -// 404 -// --- -define('PAGE_404_TITLE', '404: Not Found'); - -// registration -// --- -define('REGISTRATION_SUCCESS', "

Επιτυχής Εγγραφή

-

- Παρακαλώ ελέγξτε το email σας και ακολουθήστε το σύνδεσμο ενεργοποίησης - που σας 'εχει αποσταλεί, ώστε να έχετε πρόσβαση σε επιπλέον περιεχόμενο του site -

" -); -define ('REGISTRATION_USER_EXISTS', "

Αποτυχία Εγγραφής

-

- Υπάρχει ήδη χρήστης με αυτό το email. Αν δεν θυμάστε το password - μπορείτε να κάνετε επαναφορά του ακολουθώντας - αυτό το σύνδεσμο. -

" -); - - -// activation -// --- -define('ACCOUNT_ACTIVATED_TITLE', 'Ο λογαριασμός σας έχει ενεργοποιηθεί'); -define('ACCOUNT_ACTIVATED_MESSAGE', 'Τώρα μπορείτε να - συνδεθείτε στο σύστημα.'); -define('NOT_VALID_ACTIVATION_TITLE', 'Σφάλμα!'); -define('NOT_VALID_ACTIVATION_MESSAGE', 'Ο λογαριασμός δεν έχει ενεργοποιηθεί. - Ξαναδοκιμάστε αργότερα κι αν το σφάλμα επιμείνει, επικοινωνήστε με την υπεύθυνη του προγράμμαρος.'); - -define ('PETITION_TYPE', [ - 1 => 'common', - 2 => 'penalty' -]); - - - -// the forms /////////////////////////////////////////////////////////////////// -// ----------------------------------------------------------------------------- - -// registration/activation form (from invitation) -// --- -define('REGISTRATION_FORM', [ - 'defaults' => [ - 'outer_class' => 'col-12', - 'inner_class' => 'form-control', - 'type' => 'text', - 'source' => '\app\controllers\User::current' - ], - 'form' => [ - [ - 'name' => 'first_name', - 'label' => 'Όνομα', - 'value' => 'auto', - 'attributes' => ['required'] - ], - [ - 'name' => 'last_name', - 'label' => 'Επίθετο', - 'value' => 'auto', - 'attributes' => ['required'] - ], - [ - 'name' => 'email', - 'label' => 'Email', - 'type' => 'email', - 'value' => 'auto', - 'attributes' => ['required'] - ], - [ - 'name' => 'father_name', - 'label' => 'Πατρώνυμο', - 'value' => 'auto', - 'attributes' => ['required'] - ], - [ - 'name' => 'registration_number', - 'label' => 'Αριθμός μητρώου', - 'class' => 'col-8', - 'value' => 'auto', - 'attributes' => ['required'] - ], - [ - 'name' => 'sector', - 'label' => 'Κλάδος / Ειδικότητα', - 'value' => 'auto', - 'type' => 'select', - 'attributes' => ['required'], - 'options' => [ - 'ΠΕ01 ΘΕΟΛΟΓΟΙ', - 'ΠΕ02 ΦΙΛΟΛΟΓΟΙ', - 'ΠΕ02.50 ΦΙΛΟΛΟΓΟΙ ΕΙΔΙΚΗΣ ΑΓΩΓΗΣ', - 'ΠΕ03 ΜΑΘΗΜΑΤΙΚΟΙ', - 'ΠΕ03.50 ΜΑΘΗΜΑΤΙΚΟΙ ΕΙΔΙΚΗΣ ΑΓΩΓΗΣ', - 'ΠΕ04.01 ΦΥΣΙΚΟΙ', - 'ΠΕ04.01.50 ΦΥΣΙΚΟΙ ΕΙΔΙΚΗΣ ΑΓΩΓΗΣ', - 'ΠΕ04.02 ΧΗΜΙΚΟΙ', - 'ΠΕ04.04 ΒΙΟΛΟΓΟΙ', - 'ΠΕ05 ΓΑΛΛΙΚΗΣ ΦΙΛΟΛΟΓΙΑΣ', - 'ΠΕ06 ΑΓΓΛΙΚΗΣ ΦΙΛΟΛΟΓΙΑΣ', - 'ΠΕ07 ΓΕΡΜΑΝΙΚΗΣ ΦΙΛΟΛΟΓΙΑΣ', - 'ΠΕ08 ΚΑΛΛΙΤΕΧΝΙΚΩΝ', - 'ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ', - 'ΠΕ23-ΣΔΕΥ ΨΥΧΟΛΟΓΟΙ', - 'ΠΕ30-ΣΔΕΥ ΚΟΙΝΩΝΙΚΟΙ ΛΕΙΤΟΥΡΓΟΙ', - 'ΠΕ78 ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ', - 'ΠΕ79.01 ΜΟΥΣΙΚΗΣ ΕΠΙΣΤΗΜΗΣ', - 'ΠΕ80 ΟΙΚΟΝΟΜΙΑΣ', - 'ΠΕ81 ΠΟΛ.ΜΗΧΑΝΙΚΩΝ-ΑΡΧΙΤΕΚΤΟΝΩΝ', - 'ΠΕ82 ΜΗΧΑΝΟΛΟΓΩΝ', - 'ΠΕ86 ΠΛΗΡΟΦΟΡΙΚΗΣ', - 'ΠΕ88.01 ΓΕΩΠΟΝΟΙ' - ] - ], - [ - 'name' => 'belonging_school', - 'label' => 'Σχολείο τοποθέτησης', - 'value' => 'auto', - 'attributes' => ['required'] - ], - // [ // working school = (obviously) is the current school - // 'name' => 'working_school', - // 'label' => 'Σχολείο εργασίας', - // 'attributes' => ['required'] - // ], - [ - 'name' => 'position', - 'label' => 'Θέση', - 'type' => 'select', - 'value' => 'auto', - 'attributes' => ['required'], - 'options' => [] - ], - [ - 'name' => 'phone', - 'label' => 'Τηλέφωνο', - 'class' => 'col-8', - 'value' => 'auto', - 'attributes' => ['required'] - ], - [ - 'name' => 'password', - 'label' => 'Κωδικός πρόσβασης', - 'type' => 'password', - 'class' => 'col-8', - 'attributes' => ['required'] - ], - [ - 'name' => 'confirm_password', - 'label' => 'Επαλήθευση κωδικού πρόσβασης', - 'type' => 'password', - 'class' => 'col-8', - 'attributes' => ['required'] - ] - ] -]); - -// common requesy form (for any application) -// --- -define('COMMON_REQUEST_FORM', [ - 'defaults' => [ - 'outer_class' => 'col-12', - 'inner_class' => 'form-control', - 'type' => 'text', - 'source' => '\app\controllers\User::current' - ], - 'form' => [ - [ - 'name' => 'subject', - 'label' => 'Θέμα (χαρακτηριστικός τίτλος για αναφορά)', - 'attributes' => ['required'] - ], - [ - 'name' => 'first_name', - 'label' => 'Όνομα', - 'attributes' => ['auto'] - ], - [ - 'name' => 'last_name', - 'label' => 'Επίθετο', - 'attributes' => ['auto'] - ], - [ - 'name' => 'email', - 'label' => 'e-mail', - 'type' => 'email', - 'attributes' => ['auto'] - ], - [ - 'name' => 'father_name', - 'label' => 'Πατρώνυμο', - 'attributes' => ['auto'] - ], - [ - 'name' => 'registration_number', - 'label' => 'Αριθμός μητρώου', - 'class' => 'col-5', - 'attributes' => ['auto'] - ], - [ - 'name' => 'sector', - 'label' => 'Κλάδος / Ειδικότητα', - 'attributes' => ['auto'] - ], - [ - 'name' => 'belonging_school', - 'label' => 'Σχολείο τοποθέτησης', - 'attributes' => ['required'] - ], - [ - 'name' => 'working_school', - 'label' => 'Σχολείο εργασίας', - 'attributes' => ['required'] - ], - [ - 'name' => 'position', - 'label' => 'Θέση', - 'type' => 'select', - 'source' => 'positions', - 'attributes' => ['required'] - ], - [ - 'name' => 'phone', - 'label' => 'Τηλέφωνο', - 'attributes' => ['required'] - ], - [ - 'name' => 'request', - 'label' => 'Αίτημα (πχ, Παρακαλώ να μου χορηγήσετε ...)', - 'type' => 'textarea', - 'attributes' => ['required'] - ], - [ - 'name' => 'date', - 'label' => 'Ημερομηνία αίτησης', - 'type' => 'date', - 'attributes' => ['required'] - ] - ] -]); - -// penalty form -// --- - -define('PENALTY_FORM', [ - 'defaults' => [ - 'outer_class' => 'col-12', - 'inner_class' => 'form-control', - 'type' => 'text', - 'source' => 'user' - ], - 'form' => [ - [ - 'name' => 'subject', - 'label' => 'Θέμα (χαρακτηριστικός τίτλος για αναφορά)', - 'attributes' => ['required'] - ], - [ - 'label' => '', - 'type' => 'label' - ], - [ - 'label' => 'Πειθαρχική υπόθεση', - 'type' => 'label' - ], - [ - 'name' => 'of_article', - 'label' => 'του/της/των...', - 'type' => 'select', - 'options' => [ - 'του μαθητή', - 'της μαθήτριας', - 'των μαθητών', - 'των μαθητριών' - ], - 'class' => 'col-md-4', - 'attributes' => ['required'] - ], - [ - 'name' => 'student_names', - 'label' => '(ονοματεπώνυ-μο/μα, πτώση γενική)', - 'type' => 'textarea', - 'class' => 'col-md-8', - 'attributes' => ['required'] - ], - [ - 'name' => 'of_department', - 'label' => 'του τμήματος...', - 'class' => 'col-md-4', - 'attributes' => ['required'] - ], - [ - 'name' => 'date', - 'label' => 'Ημερομηνία', - 'type' => 'date', - 'class' => 'col-md-4', - 'attributes' => ['required'] - ], - [ - 'name' => 'time', - 'label' => 'Ώρα', - 'class' => 'col-md-4', - 'attributes' => ['required'] - ], - [ - 'name' => 'place', - 'label' => 'Τόπος', - 'type' => 'select', - 'options' => [ - 'Γραφείο Διευθηντή', - 'Γραφείο Καθηγητών' - ], - 'attributes' => ['required'] - ], - [ - 'name' => 'rapporteur', - 'label' => 'εισηγητής', - 'type' => 'select', - 'source' => '\app\extends\Cache_service::all_users', - 'attributes' => ['required'] - ], - [ - 'name' => 'charge', - 'label' => 'Περιγραφή συμβάντος:', - 'type' => 'textarea', - 'attributes' => ['required'] - ], - [ - 'name' => 'apology', - 'label' => 'Απολογία: (μαθητή/-των)', // + of_student - 'type' => 'textarea', - 'attributes' => [] - ], - [ - 'name' => 'decision_reasoning', - 'label' => 'Αιτιολογία απόφασης (πχ. Επειδή...)', - 'type' => 'textarea', - 'attributes' => [] - ], - [ - 'label' => 'Το Πειθαρχικό Συμβούλιο', - 'type' => 'label' - ], - [ - 'name' => 'decision', - 'label' => 'Αποφασίζει', - 'type' => 'select', - 'options' => [ - 'προφορική επίπληξη', - 'ωριαία αποβολή', - 'ημερήσια αποβολή' - ], - 'attributes' => [] - ], - [ - 'name' => 'decision_more', - 'label' => '(μη τυποποιημένο κείμενο απόφασης)', - 'attributes' => [] - ], - [ - 'name' => 'president', - 'label' => 'Πρόεδρος συνεδρίασης', - 'type' => 'select', - 'source' => '\app\extends\Cache_service::all_users', - 'attributes' => ['required'] - ], - [ - 'name' => 'members', - 'label' => 'Μέλη', - 'type' => 'select', - 'attributes' => ['required', 'multiple'], - 'source' => '\app\extends\Cache_service::all_users' - ] - ] -]); diff --git a/public/app/config/setup-framework.php b/public/app/config/setup-framework.php deleted file mode 100644 index 63eb486..0000000 --- a/public/app/config/setup-framework.php +++ /dev/null @@ -1,469 +0,0 @@ - 'Login', + 2 => 'Account', + 3 => 'Request' +]); + + + +// ERRORS AND ERROR MESSAGES /////////////////////////////////////////////////// +// ----------------------------------------------------------------------------- + +define('EMPTY_REQUIRED_FIELDS', 'Δεν έχουν συμπληρωθεί όλα τα υποχρεωτικά πεδία'); + + + +// ASSETS: PATHS USED HEAVILY ////////////////////////////////////////////////// +// ----------------------------------------------------------------------------- +// these paths are used in order to easily find and autoload useful elemets + + +// JAVASCRIPT LIBRARY PATHS +// ----------------------------------------------------------------------------- +define('JS_DIR', '/content/'); // path to contruct link + + + +// CSS ASSET PATHS +// ----------------------------------------------------------------------------- +define('CSS_DIR', '/content/css/'); // path to contruct link +define('CSS_FILES', array( // path after to the actual file + 'main' => 'main.min.css', + 'filter' => 'filter.css', + 'overides' => 'overides.css', + ) +); + + + +// Mesagges //////////////////////////////////////////////////////////////////// +// ----------------------------------------------------------------------------- + +// 404 +// --- +define('PAGE_404_TITLE', '404: Not Found'); + +// registration +// --- +define('REGISTRATION_SUCCESS', "

Επιτυχής Εγγραφή

+

+ Παρακαλώ ελέγξτε το email σας και ακολουθήστε το σύνδεσμο ενεργοποίησης + που σας 'εχει αποσταλεί, ώστε να έχετε πρόσβαση σε επιπλέον περιεχόμενο του site +

" +); +define ('REGISTRATION_USER_EXISTS', "

Αποτυχία Εγγραφής

+

+ Υπάρχει ήδη χρήστης με αυτό το email. Αν δεν θυμάστε το password + μπορείτε να κάνετε επαναφορά του ακολουθώντας + αυτό το σύνδεσμο. +

" +); + + +// activation +// --- +define('ACCOUNT_ACTIVATED_TITLE', 'Ο λογαριασμός σας έχει ενεργοποιηθεί'); +define('ACCOUNT_ACTIVATED_MESSAGE', 'Τώρα μπορείτε να + συνδεθείτε στο σύστημα.'); +define('NOT_VALID_ACTIVATION_TITLE', 'Σφάλμα!'); +define('NOT_VALID_ACTIVATION_MESSAGE', 'Ο λογαριασμός δεν έχει ενεργοποιηθεί. + Ξαναδοκιμάστε αργότερα κι αν το σφάλμα επιμείνει, επικοινωνήστε με την υπεύθυνη του προγράμμαρος.'); + +define ('PETITION_TYPE', [ + 1 => 'common', + 2 => 'penalty' +]); + + + +// the forms /////////////////////////////////////////////////////////////////// +// ----------------------------------------------------------------------------- + +// registration/activation form (from invitation) +// --- +define('REGISTRATION_FORM', [ + 'defaults' => [ + 'outer_class' => 'col-12', + 'inner_class' => 'form-control', + 'type' => 'text', + 'source' => '\app\controllers\User::current' + ], + 'form' => [ + [ + 'name' => 'first_name', + 'label' => 'Όνομα', + 'value' => 'auto', + 'attributes' => ['required'] + ], + [ + 'name' => 'last_name', + 'label' => 'Επίθετο', + 'value' => 'auto', + 'attributes' => ['required'] + ], + [ + 'name' => 'email', + 'label' => 'Email', + 'type' => 'email', + 'value' => 'auto', + 'attributes' => ['required'] + ], + [ + 'name' => 'father_name', + 'label' => 'Πατρώνυμο', + 'value' => 'auto', + 'attributes' => ['required'] + ], + [ + 'name' => 'registration_number', + 'label' => 'Αριθμός μητρώου', + 'class' => 'col-8', + 'value' => 'auto', + 'attributes' => ['required'] + ], + [ + 'name' => 'sector', + 'label' => 'Κλάδος / Ειδικότητα', + 'value' => 'auto', + 'type' => 'select', + 'attributes' => ['required'], + 'options' => [ + 'ΠΕ01 ΘΕΟΛΟΓΟΙ', + 'ΠΕ02 ΦΙΛΟΛΟΓΟΙ', + 'ΠΕ02.50 ΦΙΛΟΛΟΓΟΙ ΕΙΔΙΚΗΣ ΑΓΩΓΗΣ', + 'ΠΕ03 ΜΑΘΗΜΑΤΙΚΟΙ', + 'ΠΕ03.50 ΜΑΘΗΜΑΤΙΚΟΙ ΕΙΔΙΚΗΣ ΑΓΩΓΗΣ', + 'ΠΕ04.01 ΦΥΣΙΚΟΙ', + 'ΠΕ04.01.50 ΦΥΣΙΚΟΙ ΕΙΔΙΚΗΣ ΑΓΩΓΗΣ', + 'ΠΕ04.02 ΧΗΜΙΚΟΙ', + 'ΠΕ04.04 ΒΙΟΛΟΓΟΙ', + 'ΠΕ05 ΓΑΛΛΙΚΗΣ ΦΙΛΟΛΟΓΙΑΣ', + 'ΠΕ06 ΑΓΓΛΙΚΗΣ ΦΙΛΟΛΟΓΙΑΣ', + 'ΠΕ07 ΓΕΡΜΑΝΙΚΗΣ ΦΙΛΟΛΟΓΙΑΣ', + 'ΠΕ08 ΚΑΛΛΙΤΕΧΝΙΚΩΝ', + 'ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ', + 'ΠΕ23-ΣΔΕΥ ΨΥΧΟΛΟΓΟΙ', + 'ΠΕ30-ΣΔΕΥ ΚΟΙΝΩΝΙΚΟΙ ΛΕΙΤΟΥΡΓΟΙ', + 'ΠΕ78 ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ', + 'ΠΕ79.01 ΜΟΥΣΙΚΗΣ ΕΠΙΣΤΗΜΗΣ', + 'ΠΕ80 ΟΙΚΟΝΟΜΙΑΣ', + 'ΠΕ81 ΠΟΛ.ΜΗΧΑΝΙΚΩΝ-ΑΡΧΙΤΕΚΤΟΝΩΝ', + 'ΠΕ82 ΜΗΧΑΝΟΛΟΓΩΝ', + 'ΠΕ86 ΠΛΗΡΟΦΟΡΙΚΗΣ', + 'ΠΕ88.01 ΓΕΩΠΟΝΟΙ' + ] + ], + [ + 'name' => 'belonging_school', + 'label' => 'Σχολείο τοποθέτησης', + 'value' => 'auto', + 'attributes' => ['required'] + ], + // [ // working school = (obviously) is the current school + // 'name' => 'working_school', + // 'label' => 'Σχολείο εργασίας', + // 'attributes' => ['required'] + // ], + [ + 'name' => 'position', + 'label' => 'Θέση', + 'type' => 'select', + 'value' => 'auto', + 'attributes' => ['required'], + 'options' => [] + ], + [ + 'name' => 'phone', + 'label' => 'Τηλέφωνο', + 'class' => 'col-8', + 'value' => 'auto', + 'attributes' => ['required'] + ], + [ + 'name' => 'password', + 'label' => 'Κωδικός πρόσβασης', + 'type' => 'password', + 'class' => 'col-8', + 'attributes' => ['required'] + ], + [ + 'name' => 'confirm_password', + 'label' => 'Επαλήθευση κωδικού πρόσβασης', + 'type' => 'password', + 'class' => 'col-8', + 'attributes' => ['required'] + ] + ] +]); + +// common requesy form (for any application) +// --- +define('COMMON_REQUEST_FORM', [ + 'defaults' => [ + 'outer_class' => 'col-12', + 'inner_class' => 'form-control', + 'type' => 'text', + 'source' => '\app\controllers\User::current' + ], + 'form' => [ + [ + 'name' => 'subject', + 'label' => 'Θέμα (χαρακτηριστικός τίτλος για αναφορά)', + 'attributes' => ['required'] + ], + [ + 'name' => 'first_name', + 'label' => 'Όνομα', + 'attributes' => ['auto'] + ], + [ + 'name' => 'last_name', + 'label' => 'Επίθετο', + 'attributes' => ['auto'] + ], + [ + 'name' => 'email', + 'label' => 'e-mail', + 'type' => 'email', + 'attributes' => ['auto'] + ], + [ + 'name' => 'father_name', + 'label' => 'Πατρώνυμο', + 'attributes' => ['auto'] + ], + [ + 'name' => 'registration_number', + 'label' => 'Αριθμός μητρώου', + 'class' => 'col-5', + 'attributes' => ['auto'] + ], + [ + 'name' => 'sector', + 'label' => 'Κλάδος / Ειδικότητα', + 'attributes' => ['auto'] + ], + [ + 'name' => 'belonging_school', + 'label' => 'Σχολείο τοποθέτησης', + 'attributes' => ['required'] + ], + [ + 'name' => 'working_school', + 'label' => 'Σχολείο εργασίας', + 'attributes' => ['required'] + ], + [ + 'name' => 'position', + 'label' => 'Θέση', + 'type' => 'select', + 'source' => 'positions', + 'attributes' => ['required'] + ], + [ + 'name' => 'phone', + 'label' => 'Τηλέφωνο', + 'attributes' => ['required'] + ], + [ + 'name' => 'request', + 'label' => 'Αίτημα (πχ, Παρακαλώ να μου χορηγήσετε ...)', + 'type' => 'textarea', + 'attributes' => ['required'] + ], + [ + 'name' => 'date', + 'label' => 'Ημερομηνία αίτησης', + 'type' => 'date', + 'attributes' => ['required'] + ] + ] +]); + +// penalty form +// --- + +define('PENALTY_FORM', [ + 'defaults' => [ + 'outer_class' => 'col-12', + 'inner_class' => 'form-control', + 'type' => 'text', + 'source' => 'user' + ], + 'form' => [ + [ + 'name' => 'subject', + 'label' => 'Θέμα (χαρακτηριστικός τίτλος για αναφορά)', + 'attributes' => ['required'] + ], + [ + 'label' => '', + 'type' => 'label' + ], + [ + 'label' => 'Πειθαρχική υπόθεση', + 'type' => 'label' + ], + [ + 'name' => 'of_article', + 'label' => 'του/της/των...', + 'type' => 'select', + 'options' => [ + 'του μαθητή', + 'της μαθήτριας', + 'των μαθητών', + 'των μαθητριών' + ], + 'class' => 'col-md-4', + 'attributes' => ['required'] + ], + [ + 'name' => 'student_names', + 'label' => '(ονοματεπώνυ-μο/μα, πτώση γενική)', + 'type' => 'textarea', + 'class' => 'col-md-8', + 'attributes' => ['required'] + ], + [ + 'name' => 'of_department', + 'label' => 'του τμήματος...', + 'class' => 'col-md-4', + 'attributes' => ['required'] + ], + [ + 'name' => 'date', + 'label' => 'Ημερομηνία', + 'type' => 'date', + 'class' => 'col-md-4', + 'attributes' => ['required'] + ], + [ + 'name' => 'time', + 'label' => 'Ώρα', + 'class' => 'col-md-4', + 'attributes' => ['required'] + ], + [ + 'name' => 'place', + 'label' => 'Τόπος', + 'type' => 'select', + 'options' => [ + 'Γραφείο Διευθηντή', + 'Γραφείο Καθηγητών' + ], + 'attributes' => ['required'] + ], + [ + 'name' => 'rapporteur', + 'label' => 'εισηγητής', + 'type' => 'select', + 'source' => '\app\extends\Cache_service::all_users', + 'attributes' => ['required'] + ], + [ + 'name' => 'charge', + 'label' => 'Περιγραφή συμβάντος:', + 'type' => 'textarea', + 'attributes' => ['required'] + ], + [ + 'name' => 'apology', + 'label' => 'Απολογία: (μαθητή/-των)', // + of_student + 'type' => 'textarea', + 'attributes' => [] + ], + [ + 'name' => 'decision_reasoning', + 'label' => 'Αιτιολογία απόφασης (πχ. Επειδή...)', + 'type' => 'textarea', + 'attributes' => [] + ], + [ + 'label' => 'Το Πειθαρχικό Συμβούλιο', + 'type' => 'label' + ], + [ + 'name' => 'decision', + 'label' => 'Αποφασίζει', + 'type' => 'select', + 'options' => [ + 'προφορική επίπληξη', + 'ωριαία αποβολή', + 'ημερήσια αποβολή' + ], + 'attributes' => [] + ], + [ + 'name' => 'decision_more', + 'label' => '(μη τυποποιημένο κείμενο απόφασης)', + 'attributes' => [] + ], + [ + 'name' => 'president', + 'label' => 'Πρόεδρος συνεδρίασης', + 'type' => 'select', + 'source' => '\app\extends\Cache_service::all_users', + 'attributes' => ['required'] + ], + [ + 'name' => 'members', + 'label' => 'Μέλη', + 'type' => 'select', + 'attributes' => ['required', 'multiple'], + 'source' => '\app\extends\Cache_service::all_users' + ] + ] +]); diff --git a/public/app/config/setup_framework.php b/public/app/config/setup_framework.php new file mode 100644 index 0000000..69c3402 --- /dev/null +++ b/public/app/config/setup_framework.php @@ -0,0 +1,472 @@ +