aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--egyéb/nextcloud/mayor-nextcloud.cfg.php158
-rw-r--r--egyéb/nextcloud/mayor-nextcloud.php614
2 files changed, 387 insertions, 385 deletions
diff --git a/egyéb/nextcloud/mayor-nextcloud.cfg.php b/egyéb/nextcloud/mayor-nextcloud.cfg.php
index 48cbffcc..460b23c9 100644
--- a/egyéb/nextcloud/mayor-nextcloud.cfg.php
+++ b/egyéb/nextcloud/mayor-nextcloud.cfg.php
@@ -1,55 +1,57 @@
<?php
//////////////////////// Figyelem! Az alábbi config érvényes a Mayor-Nextcloud scripthez, nem a "mayor-nextcloud.php" fejléce!! ////////////////////////////
+$cfg = array();
+
+$cfg['db_host'] = "localhost";
+$cfg['db_port'] = "3306";
+$cfg['db_user'] = "root";
+$cfg['db_pass'] = "";
+$cfg['db_m2n_db'] = "mayor_to_nextcloud";
+$cfg['db_m2n_prefix'] = "m2n_";
+$cfg['db_nxt_dbname'] = "Nextcloud";
+$cfg['db_nxt_prefix'] = "oc_";
+//$cfg['db_mayor_host'] = "";
+//$cfg['db_mayor_port'] = "";
+//$cfg['db_mayor_user'] = "";
+//$cfg['db_mayor_pass'] = "";
+
+$cfg['min_evfolyam'] = 7;
+$cfg['isk_rovidnev'] = "rovid";
+$cfg['csoport_prefix'] = "(tk) ";
+$cfg['default_email'] = "indulo@iskola.hu";
+$cfg['default_passw'] = "EHYmGktzrdfS7wxJR6DFqxjJ";
+$cfg['always_set_diak_quota'] = false;
+$cfg['default_quota'] = "10GB";
+$cfg['diak_quota'] = "2GB";
+$cfg['min_osztalyok'] = array(); //pl: array('9.a','11.a');
+$cfg['csoportnev_hossz'] = 40;
+$cfg['felhasznalo_hossz'] = 45;
+$cfg['default_lang'] = "hu";
+$cfg['manage_groups'] = false;
+$cfg['manage_groupdirs'] = false; //Foglalkozzon-e a script a tankörmappákkal
+$cfg['groupdir_users'] = array("naplo_robot","123abcd"); //Ha a tömb üres, akkor az összes tanárral dolgozik.
+$cfg['groupdir_prefix'] = "Iskolai Távoktatás";
+$cfg['mindenki_csop'] = "naplós_felhasználók";
+$cfg['mindenki_tanar'] = "naplós_tanárok";
+$cfg['mindenki_diak'] = "naplós_diákok";
+$cfg['zaras_tartas'] = "2018-06-14"; // Ha nem kell, akkor állítsd át "1970-01-01"-re.
+$cfg['megfigyelo_user'] = "naplo_robot";
+$cfg['kihagy'] = array(); //pl: array('Trap.Pista', 'Ebeed.Elek', '22att')
+$cfg['verbose'] = 3 ;
+
+
+$cfg['rootBindDn'] = "CN=LDAP_ADATCSERE_ADMIN,CN=Users,DC=ad,DC=iskola,DC=hu";
+$cfg['rootBindPass'] = "<password>";
-$db = array();
-$m2n = array();
-
-$db['host'] = "localhost";
-$db['port'] = "3306";
-$db['user'] = "root";
-$db['pass'] = "";
-$db['m2n_db'] = "mayor_to_nextcloud";
-$db['m2n_prefix'] = "m2n_";
-$db['nxt_dbname'] = "Nextcloud";
-$db['nxt_prefix'] = "oc_";
-//$db['mayor_host'] = "";
-//$db['mayor_port'] = "";
-//$db['mayor_user'] = "";
-//$db['mayor_pass'] = "";
-
-$m2n['min_evfolyam'] = 7;
-$m2n['isk_rovidnev'] = "rovid";
-$m2n['csoport_prefix'] = "(tk) ";
-$m2n['default_email'] = "indulo@iskola.hu";
-$m2n['default_passw'] = "EHYmGktzrdfS7wxJR6DFqxjJ";
-$m2n['always_set_diak_quota'] = false;
-$m2n['default_quota'] = "10GB";
-$m2n['diak_quota'] = "2GB";
-$m2n['min_osztalyok'] = array(); //pl: array('9.a','11.a');
-$m2n['csoportnev_hossz'] = 40;
-$m2n['felhasznalo_hossz'] = 45;
-$m2n['default_lang'] = "hu";
-$m2n['manage_groups'] = false;
-$m2n['manage_groupdirs'] = false; //Foglalkozzon-e a script a tankörmappákkal
-$m2n['groupdir_users'] = array("naplo_robot","123abcd"); //Ha a tömb üres, akkor az összes tanárral dolgozik.
-$m2n['groupdir_prefix'] = "Iskolai Távoktatás";
-$m2n['mindenki_csop'] = "naplós_felhasználók";
-$m2n['mindenki_tanar'] = "naplós_tanárok";
-$m2n['mindenki_diak'] = "naplós_diákok";
-$m2n['zaras_tartas'] = "2018-06-14"; // Ha nem kell, akkor állítsd át "1970-01-01"-re.
-$m2n['megfigyelo_user'] = "naplo_robot";
-$m2n['kihagy'] = array(); //pl: array('Trap.Pista', 'Ebeed.Elek', '22att')
-$m2n['verbose'] = 3 ;
-
$occ_path = "/var/www/nextcloud/";
$occ_user = "www-data";
-$m2n['infotxt_szöveg'] = <<<EOT
+$cfg['infotxt_szöveg'] = <<<EOT
FONTOS INFORMÁCIÓK!
@@ -365,7 +367,7 @@ Beállítása az alábbiak szerint: (egy lehetséges elrendezés)
--loglevel x : A bőbeszédűséget/logolást tudjuk ezzel szabályozni, ekkor ez az érték érvényesül, nem a configban megadott.
--config-file : Konfig fájl elérési útvonala.
--config-print : A betöltött konfig kiírása.
- --set-diak-quota : Az összes diák qvótáját átállítja az "$m2n['diak_quota'] = x" -nél megadott értékre,
+ --set-diak-quota : Az összes diák qvótáját átállítja az "$cfg['diak_quota'] = x" -nél megadott értékre,
csak kézzel futtatva működik, az automatikus, napi futtatásban nicns benne.
--create-groupdir <username>: A távoktatást segítő könyvtárstruktúrát csak az <username> felhasználónak hozza létre,
egyébként kapcsoló nélküli híváskor, (pl: automatikusan, a napi futásban éjjel), az összes tanárnak egyszerre.
@@ -383,107 +385,107 @@ Beállítása az alábbiak szerint: (egy lehetséges elrendezés)
-(VIII.) A "mayor-nextcloud.cfg.php" fajl elején találhatóak a konfigurációs adatok, ezeket a következőképpen módosíthatjuk:
- $db['host'] = "localhost"; //Ez a nextcloud alatt futó mysql elérhetősége.
+ $cfg['db_host'] = "localhost"; //Ez a nextcloud alatt futó mysql elérhetősége.
// (Csak localhost lehet, a scriptet a nextcloud-szerveren kell futtatnunk.)
- $db['port'] = "3306"; //nextcloud-mysql port
+ $cfg['db_port'] = "3306"; //nextcloud-mysql port
- $db['user'] = "root"; //nextcloud-mysql felhasználónév
+ $cfg['db_user'] = "root"; //nextcloud-mysql felhasználónév
// HA nem a root-ot használjuk, akkor, saját kezűleg kell létrehozni a script saját, nyilvántartó adatbázisát, és a fenti jogokat beállítani rá,
// valamint Ha a Nextcloud verziószáma kisebb 14-nél, akkor a használt felhasználónak írási-olvasási-törlési
// (insert,select,update,delete) joggal kell rendelkeznie a nextcloud adatbázis "..groups" tábláján.
// Ha a Debian-on alapértelmezett root-ot használjuk, akkor mindez automatikusan történik.
- $db['pass'] = ""; //A nextcloud-mysql jelszó (A fenti felhasználónévhez tartozó)
+ $cfg['db_pass'] = ""; //A nextcloud-mysql jelszó (A fenti felhasználónévhez tartozó)
// érdemes a debian 9.x-en, a root-hoz alapértelmezett "unix_socket" bejelentkezési módot
// használnunk, ez biztonságosabb, mert ekkor nem kell jelszó, más módon hitelesít, így biztonságosabb.
- $db['nxt_dbname'] = "nextcloud"; //A Nextcloud által használt adatbázis neve.
- $db['nxt_prefix'] = "oc_"; //A Nextcloud által használt adatbázisban a táblák prefix-je. (ha van)
+ $cfg['db_nxt_dbname'] = "nextcloud"; //A Nextcloud által használt adatbázis neve.
+ $cfg['db_nxt_prefix'] = "oc_"; //A Nextcloud által használt adatbázisban a táblák prefix-je. (ha van)
- $db['m2n_db'] = "mayor_to_nextcloud"; //A mayor->nextcloud script adatbázisa (nyilvántartás).
+ $cfg['db_m2n_db'] = "mayor_to_nextcloud"; //A mayor->nextcloud script adatbázisa (nyilvántartás).
// Ennek az adatbázisnak a Nextcloud mysql szerverén kell lennie!
//
// Ebben az adatbázisban könyveli le a script által létrehozott felhasználókat, azért,
// hogy így meg tudja különböztetni, a saját maga által létrehozottakat, az Adminisztrátor
// által, kézzel létrehozott felhasználóktól, hogy azokat ne birizgálja.
- $db['m2n_prefix'] = "m2n_"; //A nyilvántartó adatbázisban használt prefix, ha van. (ha nincs, akkor "üres string"-re kell állítani ($db['m2n_prefix'] = "";))
+ $cfg['db_m2n_prefix'] = "m2n_"; //A nyilvántartó adatbázisban használt prefix, ha van. (ha nincs, akkor "üres string"-re kell állítani ($cfg['db_m2n_prefix'] = "";))
- //$db['mayor_host'] = ""; //Akkor használatos, ha a mayor alatti mysql szerver egy másik szerveren van, mint a Nextcloud által használt.
- //$db['mayor_port'] = ""; // ekkor ki kell venni kommentből, és ki kell tölteni a mayor-mysql serverre érvényes adatokkal.
- //$db['mayor_user'] = "";
- //$db['mayor_pass'] = ""; //A kiválasztott felhaználónak olvasnia (GRANT SELECT) kell tudnia a mayor-mysql serveren a(z):
+ //$cfg['db_mayor_host'] = ""; //Akkor használatos, ha a mayor alatti mysql szerver egy másik szerveren van, mint a Nextcloud által használt.
+ //$cfg['db_mayor_port'] = ""; // ekkor ki kell venni kommentből, és ki kell tölteni a mayor-mysql serverre érvényes adatokkal.
+ //$cfg['db_mayor_user'] = "";
+ //$cfg['db_mayor_pass'] = ""; //A kiválasztott felhaználónak olvasnia (GRANT SELECT) kell tudnia a mayor-mysql serveren a(z):
// intezmeny_xxx, mayor_parent, naplo_xxx_yyyy adatbázisokból.
//Ha a mayor-mysql sezvere fizikailag (vagy virtuálisan) másik szerveren van, akkor érdemes egy "ssh-tunnel"-lel
// áthozni a portját a nextcloud-serverre. (ez a legbiztonságossabb)
- $m2n['isk_rovidnev'] = "rovid"; //A mayor-ban használt "iskola rövidneve" megnevezés.
+ $cfg['isk_rovidnev'] = "rovid"; //A mayor-ban használt "iskola rövidneve" megnevezés.
- $m2n['min_evfolyam'] = 10; //A minimális évfolyam, amelytől fölfelé engedélyezzük a felhő használatát a diákoknak.
+ $cfg['min_evfolyam'] = 10; //A minimális évfolyam, amelytől fölfelé engedélyezzük a felhő használatát a diákoknak.
- $m2n['csoport_prefix'] = "(tk) "; //A Nextcloud-ban ezzel az előtaggal jelennek majd meg mayor-ból importált csoportok, a jobb átláthatóság érdekében.
+ $cfg['csoport_prefix'] = "(tk) "; //A Nextcloud-ban ezzel az előtaggal jelennek majd meg mayor-ból importált csoportok, a jobb átláthatóság érdekében.
- $m2n['default_email'] = "rendszergazda@iskola.hu"; //Ha a mayor napló "intezmeny_xxx.diak", vagy az "intezmeny_xxx.tanar" táblákban nincs kitöltve az
+ $cfg['default_email'] = "rendszergazda@iskola.hu"; //Ha a mayor napló "intezmeny_xxx.diak", vagy az "intezmeny_xxx.tanar" táblákban nincs kitöltve az
// e-mail, akkor ezt használja alapértelmezetten.
// (ide megy a jelszó-emlékeztető, amíg a felhasználó birtokba nem veszi a Nextcloud fiókját, és ben nem állít sajátot)
- $m2n['default_passw'] = "EHYmGktzrdfS7wxJR6DF11jJ"; //Az induló jelszó a Nextcloud-ban a felhasználóknak. (érdemes erőset/hosszút megadni, a botnet-ek/hackerek miatt)
+ $cfg['default_passw'] = "EHYmGktzrdfS7wxJR6DF11jJ"; //Az induló jelszó a Nextcloud-ban a felhasználóknak. (érdemes erőset/hosszút megadni, a botnet-ek/hackerek miatt)
- $m2n['default_quota'] = "10GB"; //Az általános indulási fájl-kvóta a Nextcloud-ban. (A wbes felületen később módosítható.)
+ $cfg['default_quota'] = "10GB"; //Az általános indulási fájl-kvóta a Nextcloud-ban. (A wbes felületen később módosítható.)
// Amikor új felhasználót ad hozzá, akkor az itt megadott méretre állítja a qvótáját.
// Midel a diákoknak külön qvótát lehet beállítani, ezért ez értelemszerűen már csak a tanárokra vonatkozik.
- $m2n['diak_quota'] = "2GB"; //A diákok! indulási kvótája
+ $cfg['diak_quota'] = "2GB"; //A diákok! indulási kvótája
// amikor új diákot ad hozzá, ezt a qvótát állítja be a számára.
//Lehetőség van az összes diák kvótáját egyszerre, az itt beállított értékre állítani,
// de ez nem fut automatikusan éjjelente, ezt kézzel kell, --set-diak-qupta kapcsoló kiadásával.
- $m2n['default_lang'] = "hu"; //Az alapértelmezett nyelv (később minden felhasználó átállíthatja magának)
+ $cfg['default_lang'] = "hu"; //Az alapértelmezett nyelv (később minden felhasználó átállíthatja magának)
- $m2n['min_osztalyok'] = array( ); //Ide lehet felsorolni az osztályokat, ha konkrét osztályokat akaruni importálni,
- // ez logikai (megengedő) VAGY kapcsolatban van a $m2n['min_evfolyam'] -mal.
+ $cfg['min_osztalyok'] = array( ); //Ide lehet felsorolni az osztályokat, ha konkrét osztályokat akaruni importálni,
+ // ez logikai (megengedő) VAGY kapcsolatban van a $cfg['min_evfolyam'] -mal.
// Tehát ha beállítunk egy minimális évfolyamot, a listában felsorolt osztályok akkor is importálódnak,
// ha a min_évfolyam-nál kisebbek. //pl: array('9.a','11.a');
- $m2n['csoportnev_hossz'] = 40; //Formázott kimenet: Kiegészíti "space"-kkel a kimenetet, ha rövidebb lenne a csoport neve.
+ $cfg['csoportnev_hossz'] = 40; //Formázott kimenet: Kiegészíti "space"-kkel a kimenetet, ha rövidebb lenne a csoport neve.
// (csak a script kinézete/átláthatósága végett)
- $m2n['felhasznalo_hossz'] = 45; //Formázott kimenet: Kiegészíti "space"-kkel a kimenetet, ha rövidebb lenne a felhasználó valódi neve.
+ $cfg['felhasznalo_hossz'] = 45; //Formázott kimenet: Kiegészíti "space"-kkel a kimenetet, ha rövidebb lenne a felhasználó valódi neve.
// (Ssak a script szép kinézete, átláthatósága végett.)
- $m2n['mindenki_csop'] = "naplós_felhasználók"; //Legyen egy olyan csoport, amiben "mindenki benne van".
+ $cfg['mindenki_csop'] = "naplós_felhasználók"; //Legyen egy olyan csoport, amiben "mindenki benne van".
// ebbe a "mindenki" csoportba minden, a script által létrehozott felhasználó bekerül.
- $m2n['mindenki_tanar'] = "naplós_tanárok"; //Legyen egy olyan csoport, amiben minden tanár benne van
+ $cfg['mindenki_tanar'] = "naplós_tanárok"; //Legyen egy olyan csoport, amiben minden tanár benne van
// ebbe a "minden_tanár" csoportba a naplóbeli tanárok kerülnek.
- $m2n['mindenki_diak'] = "naplós_diákok"; //Legyen egy olyan csoport, amiben "minden diák" benne van.
+ $cfg['mindenki_diak'] = "naplós_diákok"; //Legyen egy olyan csoport, amiben "minden diák" benne van.
// ebbe a "minden_diák" csoportba a naplóbeli diákok kerülnek.
- $m2n['zaras_tartas'] = "2018-06-19"; //A jelölt napon befejezett, de nem lezárt tanév adatainak megtartása. (pl. szeptemberig)
+ $cfg['zaras_tartas'] = "2018-06-19"; //A jelölt napon befejezett, de nem lezárt tanév adatainak megtartása. (pl. szeptemberig)
// Ha már nem kell, akkor állítsd "1970-01-01"-ra !;
- $m2n['manage_groupdirs'] = false; //Ha szerenénk, hogy a script létrehozza a távoktatást segítő tankörmappákat, állítsuk "true"-re!
+ $cfg['manage_groupdirs'] = false; //Ha szerenénk, hogy a script létrehozza a távoktatást segítő tankörmappákat, állítsuk "true"-re!
- $m2n['groupdir_users'] = array("123abcd", ); //Ha csak egyes tanároknak szeretnénk bekapcsolni a tankörmappákat,
+ $cfg['groupdir_users'] = array("123abcd", ); //Ha csak egyes tanároknak szeretnénk bekapcsolni a tankörmappákat,
// ha minden tanárnak, akkor állítsuk üresre a tömböt! / = array();/
- $m2n['groupdir_prefix'] = "Iskolai Távoktatás"; //A távoktatást segítő mappák gyüjtőmappája/gyökérkönyvtára.
+ $cfg['groupdir_prefix'] = "Iskolai Távoktatás"; //A távoktatást segítő mappák gyüjtőmappája/gyökérkönyvtára.
- $m2n['manage_groups'] = true; //Foglalkozzon-e a tankörökkel/csoportokkal? Ha true -> igen, ha false, akkor csak a felhasználókat
+ $cfg['manage_groups'] = true; //Foglalkozzon-e a tankörökkel/csoportokkal? Ha true -> igen, ha false, akkor csak a felhasználókat
// egyezteti a mayorral
- $m2n['manage_groupdirs'] = false; //A tankör-cspoprt mappákat kezelje-e vagy sem.
+ $cfg['manage_groupdirs'] = false; //A tankör-cspoprt mappákat kezelje-e vagy sem.
- $m2n['verbose'] = 3 //Log bőbeszédűség (A leg informatívabb(tömörebb), talán a 3-mas fokozat.)
+ $cfg['verbose'] = 3 //Log bőbeszédűség (A leg informatívabb(tömörebb), talán a 3-mas fokozat.)
// 0: csak fatális hibák, 1: fontosabbak, 2: csop./felh. elvétel, 3: csop./felh. hozzáadás,
// 4: csop./felh. állapot, 5: részletesebben, 6: sql query + bash parancsok kiírása is
@@ -493,11 +495,11 @@ Beállítása az alábbiak szerint: (egy lehetséges elrendezés)
$occ_user = "www-data"; //A Nextcloud-servert futtató (Apache által használt) felhasználónév
- $m2n['kihagy'] = array(); //Lehetőség van egy-egy felhasználó kezelésének letiltására, ezt felsorolásként tehetjük meg.
+ $cfg['kihagy'] = array(); //Lehetőség van egy-egy felhasználó kezelésének letiltására, ezt felsorolásként tehetjük meg.
// Ekkor a script nem fog foglalkozni, az adott felhasználóval a továbbiakban.
//pl: array('Trap.Pista', 'Ebeed.Elek', '22att')
- $m2n['megfigyelo_user'] = "naplo_robot"; //Lehetőség van egy úgymond "megfigyelő" felhasználó létrehozására.
+ $cfg['megfigyelo_user'] = "naplo_robot"; //Lehetőség van egy úgymond "megfigyelő" felhasználó létrehozására.
// ez a felhasználó be lesz léptetve az összes csoportba, így az összes üzenetet megkapja,
// és az összes tankörben megosztott fájlt látja, amit a csoportokkal/tankörökkel megosztottak.
//EZ a felhasználó nem egyezik meg a MaYor "mayoradmin" felhasználójával (nem lesz automatikusan rendszergazda)!
diff --git a/egyéb/nextcloud/mayor-nextcloud.php b/egyéb/nextcloud/mayor-nextcloud.php
index 9c14d88b..f68e83f4 100644
--- a/egyéb/nextcloud/mayor-nextcloud.php
+++ b/egyéb/nextcloud/mayor-nextcloud.php
@@ -1,83 +1,87 @@
#!/usr/bin/php
<?php
-$db = array();
-$m2n = array();
+
+$cfg = array();
////////////////////////////////////////////// Figyelem! az alábbi konfig automatikusan külön fájból töltődik, ha létezik a "mayor-nextcloud.cfg.php" fájl!! /////////////////////////////////
-$db['host'] = "localhost";
-$db['port'] = "3306";
-$db['user'] = "root";
-$db['pass'] = "";
-$db['m2n_db'] = "mayor_to_nextcloud";
-$db['m2n_prefix'] = "m2n_";
-$db['nxt_dbname'] = "Nextcloud";
-$db['nxt_prefix'] = "oc_";
-//$db['mayor_host'] = "";
-//$db['mayor_port'] = "";
-//$db['mayor_user'] = "";
-//$db['mayor_pass'] = "";
+$cfg['db_host'] = "localhost";
+$cfg['db_port'] = "3306";
+$cfg['db_user'] = "root";
+$cfg['db_pass'] = "";
+$cfg['db_m2n_db'] = "mayor_to_nextcloud";
+$cfg['db_m2n_prefix'] = "m2n_";
+$cfg['db_nxt_dbname'] = "Nextcloud";
+$cfg['db_nxt_prefix'] = "oc_";
+//$cfg['db_mayor_host'] = "";
+//$cfg['db_mayor_port'] = "";
+//$cfg['db_mayor_user'] = "";
+//$cfg['db_mayor_pass'] = "";
-$m2n['min_evfolyam'] = 1;
-$m2n['isk_rovidnev'] = "rovid";
-$m2n['csoport_prefix'] = "(tk) ";
-$m2n['default_email'] = "indulo@iskola.hu";
-$m2n['default_passw'] = "EHYmGktzrdfS7wxJR6DFqxjJ";
-$m2n['always_set_diak_quota'] = false;
-$m2n['default_quota'] = "10GB";
-$m2n['diak_quota'] = "2GB";
-$m2n['min_osztalyok'] = array(); //pl: array('9.a','11.a');
-$m2n['csoportnev_hossz'] = 40;
-$m2n['felhasznalo_hossz'] = 45;
-$m2n['megfigyelo_user'] = "naplo_robot"; //ha nem kell, akkor állítsd üres stringre.
-$m2n['kihagy'] = array(); //pl: array('Trap.Pista', 'Ebeed.Elek', '22att')
-$m2n['default_lang'] = "hu";
-$m2n['manage_groups'] = false;
-$m2n['manage_groupdirs'] = false; // Foglalkozzon-e a script a tankörmappákkal
-$m2n['groupdir_prefix'] = "tavsuli";
-$m2n['groupdir_users'] = array("naplo_robot","123abcd"); //Ha mindenkire -> =array(); //(legyen üres)
-$m2n['mindenki_csop'] = "naplós_felhasználók";
-$m2n['mindenki_tanar'] = "naplós_tanárok";
-$m2n['mindenki_diak'] = "naplós_diákok";
-$m2n['zaras_tartas'] = "2018-06-14"; //A jelölt napon befejezett, de nem lezárt tanév adatainak megtartása. (pl. szeptemberig) Ha már nem kell, akkor állítsd "1970-01-01"-ra !;
-$m2n['infotxt_szöveg'] = "info.txt";
-$m2n['verbose'] = 3 ;
+$cfg['min_evfolyam'] = 1;
+$cfg['isk_rovidnev'] = "rovid";
+$cfg['csoport_prefix'] = "(tk) ";
+$cfg['default_email'] = "indulo@iskola.hu";
+//$cfg['default_passw'] = "EHYmGktzrdfS7wxJR6DFqxjJ"; //Helyette random jelszót generál
+$cfg['always_set_diak_quota'] = false;
+$cfg['default_quota'] = "10GB";
+$cfg['diak_quota'] = "2GB";
+$cfg['min_osztalyok'] = array(); //pl: array('9.a','11.a');
+$cfg['csoportnev_hossz'] = 40;
+$cfg['felhasznalo_hossz'] = 45;
+$cfg['megfigyelo_user'] = "naplo_robot"; //ha nem kell, akkor állítsd üres stringre.
+$cfg['kihagy'] = array(); //pl: array('Trap.Pista', 'Ebeed.Elek', '22att')
+$cfg['default_lang'] = "hu";
+$cfg['manage_groups'] = false;
+$cfg['manage_groupdirs'] = false; // Foglalkozzon-e a script a tankörmappákkal
+$cfg['groupdir_prefix'] = "tavsuli";
+$cfg['groupdir_users'] = array("naplo_robot","123abcd"); //Ha mindenkire -> =array(); //(legyen üres)
+$cfg['mindenki_csop'] = "naplós_felhasználók";
+$cfg['mindenki_tanar'] = "naplós_tanárok";
+$cfg['mindenki_diak'] = "naplós_diákok";
+$cfg['allapot_tartas'] = "2018-06-14"; //A jelölt napon befejezett, de nem lezárt tanév adatainak megtartása. (pl. szeptemberig) Ha már nem kell, akkor állítsd "1970-01-01"-ra !;
+$cfg['infotxt_szöveg'] = "info.txt";
+$cfg['verbose'] = 3 ;
$occ_path = "/var/www/nextcloud/";
$occ_user = "www-data";
$printhelp = false;
$printconfig = false;
+$printpassw = false;
$debug = false;
$cfgfile = realpath(pathinfo($argv[0])['dirname'])."/"."mayor-nextcloud.cfg.php"; // A fenti konfig behívható config fájlból is, így a nextcloud-betöltő (ez a php) szerkesztés nélkül frissíthető.
// Le kell cserélni az ékezetes betűket, mert a Vezetéknév.Keresztnév nem POSIX kompatibilis.
$search = array( 'á', 'ä', 'é', 'í', 'ó', 'ö', 'ő', 'ú', 'ü', 'ű', 'Á', 'Ä', 'É', 'Í', 'Ó', 'Ö', 'Ő', 'Ú', 'Ü', 'Ű'); // egyelőre csak a magyar betűket ismeri
$replace = array( 'aa', 'ae', 'ee', 'ii', 'oo', 'oe', 'ooe', 'uu', 'ue', 'uue', 'Aa', 'Aae', 'Ee', 'Ii', 'Oo', 'Oe', 'Ooe', 'Uu', 'Ue', 'Uue');
+$pwchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_?";
for($i = 1; $i<$argc; $i++){ //Ha van külön config megadva, akkor először azt töltjük be.
if($argv[$i] == "--config-file" ){$cfgfile = strval($argv[$i+1]); $i++;}
}
if(file_exists($cfgfile) === TRUE){ include($cfgfile); } //Config betöltés
-
+if(!empty($m2n)){ $cfg_o = $cfg; $cfg = $m2n; $cfg = array_merge($cfg, $cfg_o); }
for($i = 1; $i<$argc; $i++){ // Kézzel felülbírált config opciók
if($argv[$i] == "--help" ){$printhelp = true;}
if($argv[$i] == "--debug" ){$debug = true;}
- if($argv[$i] == "--loglevel" and is_numeric($argv[$i+1])){$m2n['verbose'] = intval($argv[$i+1]); $i++;}
- if($argv[$i] == "--set-diak-quota" ){ $m2n['always_set_diak_quota'] = true; }
- if($argv[$i] == "--create-groupdir"){ $m2n['groupdir_users'] = array($argv[$i+1]); $i++;}
- if($argv[$i] == "--manage-groupdirs" and is_string($argv[$i+1])){$m2n['manage_groupdirs'] = boolval($argv[$i+1]); $i++;}
- if($argv[$i] == "--manage-groups" and is_string($argv[$i+1])){$m2n['manage_groups'] = boolval($argv[$i+1]); $i++;}
- if($argv[$i] == "--config-print" ){ $printconfig = true; }
+ if($argv[$i] == "--loglevel" and is_numeric($argv[$i+1])){$cfg['verbose'] = intval($argv[$i+1]); $i++;}
+ if($argv[$i] == "--set-diak-quota" ){ $cfg['always_set_diak_quota'] = true; }
+ if($argv[$i] == "--create-groupdir"){ $cfg['groupdir_users'] = array($argv[$i+1]); $i++;}
+ if($argv[$i] == "--manage-groupdirs" and is_string($argv[$i+1])){$cfg['manage_groupdirs'] = boolval($argv[$i+1]); $i++;}
+ if($argv[$i] == "--manage-groups" and is_string($argv[$i+1])){$cfg['manage_groups'] = boolval($argv[$i+1]); $i++;}
+ if($argv[$i] == "--allapot-tartas" and is_string($argv[$i+1])){$cfg['allapot_tartas'] = strval($argv[$i+1]); $i++;}
+ if($argv[$i] == "--print-passwords" ){ $printpassw = true; }
+ if($argv[$i] == "--print-config" ){ $printconfig = true; }
}
function print_help(){
- echo "php mayor-nextcloud.php [kapcsolók] \n";
+ echo "".phpv()." mayor-nextcloud.php [kapcsolók] \n";
echo "Kapcsolók: (felülbírálja a configot!)\n";
echo " --help : Help kiírása. \n";
echo " --debug : Ugyanaz mint a \"--loglevel 100\" \n";
echo " --config-file : Konfig fájl elérési útvonala.\n";
echo " --config-print : A betöltött konfig kiírása\n";
echo " --loglevel x : A bőbeszédűséget/logolást tudjuk ezzel szabályozni, ekkor ez az érték érvényesül, nem a configban megadott. \n";
- echo " --set-diak-quota : Az összes diák qvótáját átállítja az \"\$m2n['diak_quota'] = x\" -nél megadott értékre, \n";
+ echo " --set-diak-quota : Az összes diák qvótáját átállítja az \"\$cfg['diak_quota'] = x\" -nél megadott értékre, \n";
echo " csak kézzel futtatva működik, az automatikus, napi futtatásban nicns benne.\n";
echo " --create-groupdir <username>: A távoktatást segítő könyvtárstruktúrát csak az <username> felhasználónak hozza létre, \n";
echo " illetve kapcsoló nélküli híváskor, automatikusan, a napi futásban, esténként az összes tanárnak egyszerre.\n";
@@ -86,57 +90,57 @@ function print_help(){
echo "\n\n";
}
+
+function phpv() { //Az aktuális php verzió lekérdezése
+ $v = explode('.', phpversion());
+ return "php".$v[0].".".$v[1];
+}
+
+function rndstr($l, $chs) { //Ál-Véletlen stringet generál
+ return substr(str_shuffle($chs), 0, $l);
+}
-if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '>=')) { //MySQLi (Improved) és php7 kell!
- function db_connect(array $db){
- global $log;
- if ($log['verbose'] > 0 ){ echo "***\tAdatbázis kapcsolódás. (m2n_db=".$db['m2n_db'].")\n"; }
- $l = mysqli_connect($db['host'], $db['user'], $db['pass'], $db['m2n_db'],$db['port']);
+if (function_exists('mysqli_connect') and version_compare(phpversion(), '5.0', '>=')) { //MySQLi (Improved) és php7 kell!
+
+ function db_connect($db = ""){
+ global $log,$cfg;
+ if ($log['verbose'] > 0 ){ echo "***\tAdatbázis kapcsolódás. (db='".$db."')\n"; }
+ $l = mysqli_connect($cfg['db_host'], $cfg['db_user'], $cfg['db_pass'], $db, $cfg['db_port']);
if(!$l){
- if ($log['verbose'] > 0 ){echo "*\tAdatbázis kapcsolat újrapróbálása... (m2n_db=) hiba:".mysqli_connect_errno()."\n";}
- $db_old = $db['m2n_db'];
- $db['m2n_db'] = "";
- $l = mysqli_connect($db['host'], $db['user'], $db['pass'], $db['m2n_db'],$db['port']);
+ if ($log['verbose'] > 0 ){ echo "*\tAdatbázis kapcsolat újrapróbálása... (db=''), info:".mysqli_connect_errno()."\n\n"; }
+ $db = "";
+ $l = mysqli_connect($cfg['db_host'], $cfg['db_user'], $cfg['db_pass'], $db, $cfg['db_port']);
if(!$l){
- echo "\n**** Sikertelen kapcsolódás! **** (m2n_db=".$db['m2n_db'].") info:".mysqli_get_host_info($l)."\n";
- return null;
- } else{
- if ($log['verbose'] > 4 ){ echo "*\tSikeres kapcsolódás. (m2n_db=".$db['m2n_db'].") info:".mysqli_get_host_info($l)."\n";}
- if ($log['verbose'] > 0 ){ echo "***\tAdatbázis létrehozása: ".$db_old." ...\n";}
- mysqli_set_charset($l, "utf8");
- mysqli_query($l, "SET NAMES utf8 COLLATE utf8_general_ci;" );
- script_install($l);
- return $l;
- }
- } else {
- if ($log['verbose'] > 4 ){ echo "*\tSikeres kapcsolódás. (m2n_db=".$db['m2n_db'].") info:".mysqli_get_host_info($l)."\n"; }
- mysqli_set_charset($l, "utf8");
- mysqli_query($l, "SET NAMES utf8 COLLATE utf8_general_ci;" );
- if(mysqli_query($l, "SELECT * FROM ".$db['m2n_db'].".".$db['m2n_prefix']."register LIMIT 10;" ) == FALSE ){
- script_install($l);
+ echo "\n**** Sikertelen kapcsolódás! **** (db='".$db."') info:".mysqli_get_host_info($l)."\n\n";
+ return null; //Hiba esetén visszatér
}
- return $l;
}
+ if ($log['verbose'] > 0 ){ echo "*\tSikeres kapcsolódás. (db='".$db."') info:".mysqli_get_host_info($l)."\n\n"; }
+ mysqli_set_charset($l, "utf8");
+ mysqli_query($l, "SET NAMES utf8 COLLATE utf8_general_ci;" );
+ return $l; //Egyébként a sikeressel tér vissza
}
-// bezár: mysqli_close($link);
-
- function script_install($link){
- global $db,$log;
- $q = "CREATE DATABASE IF NOT EXISTS ".$db['m2n_db']." DEFAULT COLLATE 'utf8_general_ci'; ";
- if ($log['verbose'] > 0 ){ echo "M2N -> \t".$q."\n"; }
- if(( $r = mysqli_query($link, $q)) !== FALSE ){
- if ($log['verbose'] > 0 ){ echo "*\tAz ".$db['m2n_db']." adatbázis sikeresen létrehozva.\n"; }
- }
- $q = "CREATE TABLE IF NOT EXISTS ".$db['m2n_db'].".".$db['m2n_prefix']."register (
- account VARCHAR(64) NOT NULL COLLATE 'utf8_bin',
- status ENUM('active','disabled','forbidden','deleted') NULL DEFAULT 'active' COLLATE 'utf8_bin',
- PRIMARY KEY (account))
- COLLATE='utf8_general_ci'
- ENGINE=InnoDB;";
- if ($log['verbose'] > 5 ){ echo "M2N ->\t".$q."\n"; }
- if(( $r = mysqli_query($link, $q)) !== FALSE ){
- if ($log['verbose'] > 0 ){ echo "*\tAz ".$db['m2n_db'].".".$db['m2n_prefix']."register (script-katalógus) tábla sikeresen létrehozva.\n";}
+ // bezár: mysqli_close($link);
+
+ function script_install($l){
+ global $cfg,$log;
+ if(mysqli_query($l, "SELECT * FROM ".$cfg['db_m2n_db'].".".$cfg['db_m2n_prefix']."register LIMIT 10;" ) == FALSE ){ //nincs nyilvántartás
+ $q = "CREATE DATABASE IF NOT EXISTS ".$cfg['db_m2n_db']." DEFAULT COLLATE 'utf8_general_ci'; ";
+ if ($log['verbose'] > 5 ){ echo "M2N -> \t".$q."\n\n"; }
+ if(( $r = mysqli_query($l, $q)) !== FALSE ){
+ if ($log['verbose'] > 0 ){ echo "*\tAz ".$cfg['db_m2n_db']." adatbázis sikeresen létrehozva.\n"; }
+ }
+ $q = "CREATE TABLE IF NOT EXISTS ".$cfg['db_m2n_db'].".".$cfg['db_m2n_prefix']."register (
+ account VARCHAR(64) NOT NULL COLLATE 'utf8_bin',
+ status ENUM('active','disabled','forbidden','deleted') NULL DEFAULT 'active' COLLATE 'utf8_bin',
+ PRIMARY KEY (account))
+ COLLATE='utf8_general_ci'
+ ENGINE=InnoDB;";
+ if ($log['verbose'] > 5 ){ echo "M2N ->\t".$q."\n"; }
+ if(( $r = mysqli_query($l, $q)) !== FALSE ){
+ if ($log['verbose'] > 0 ){ echo "*\tAz ".$cfg['db_m2n_db'].".".$cfg['db_m2n_prefix']."register (script-katalógus) tábla sikeresen létrehozva.\n\n";}
+ }
}
}
@@ -157,24 +161,26 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function nxt_get_version(){
- global $occ_path,$occ_user,$m2n,$log;
- // sudo -u honlap-felho php /home/honlap-felho/web/occ status --output=json
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." status --output=json \"" ;
+ global $occ_path,$occ_user,$cfg,$log;
+ $ret = array();
+ // sudo -u honlap-felho ".phpv()." /home/honlap-felho/web/occ status --output=json
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." status --output=json \"" ;
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
- $ret = explode(".", json_decode(shell_exec($e),true)['version'])[0];
- if ($log['verbose'] > 10 ){ print_r($ret); }
+ $ret[0] = shell_exec($e);
+ $ret[1] = intval(explode(".", json_decode($ret[0],true)['version'])[0]);
+ if ($log['verbose'] > 10 ){ print_r($ret); echo "\n\n"; }
return $ret;
}
function catalog_userlist($link){ //akiket a script hozott létre
- global $db,$log,$m2n;
+ global $cfg,$log,$cfg;
$ret['account'] = array();
$ret['status'] = array();
- $q = "SELECT * FROM ".$db['m2n_db'].".".$db['m2n_prefix']."register WHERE STATUS != 'forbidden'; ";
+ $q = "SELECT * FROM ".$cfg['db_m2n_db'].".".$cfg['db_m2n_prefix']."register WHERE STATUS != 'forbidden'; ";
if ($log['verbose'] > 5 ){ echo "M2N ->\t".$q."\n"; }
if(( $r = mysqli_query($link, $q)) !== FALSE ){
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
- if(!in_array($row['account'], $m2n['kihagy'])){
+ if(!in_array($row['account'], $cfg['kihagy'])){
$ret['account'][] = $row['account'];
$ret['status'][] = $row['status'];
}
@@ -189,8 +195,8 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function catalog_forbiddenlist($link){ //akiket a rendszergazda kitiltott
- global $log,$db,$m2n;
- $q = "SELECT * FROM ".$db['m2n_db'].".".$db['m2n_prefix']."register WHERE STATUS = 'forbidden'; ";
+ global $log,$cfg,$cfg;
+ $q = "SELECT * FROM ".$cfg['db_m2n_db'].".".$cfg['db_m2n_prefix']."register WHERE STATUS = 'forbidden'; ";
if ($log['verbose'] > 5 ){ echo "M2N ->\t".$q."\n"; }
if(( $r = mysqli_query($link, $q)) !== FALSE ){
$ret = array();
@@ -198,7 +204,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
$ret[] = $row['account'];
}
mysqli_free_result($r);
- $ret = array_merge($ret, $m2n['kihagy']);
+ $ret = array_merge($ret, $cfg['kihagy']);
if ($log['verbose'] > 4 ){ echo "*\tFelhasználó-letiltások m2n nyilvántartás lekérdezése.\n"; }
return $ret;
} else {
@@ -207,8 +213,8 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function catalog_useradd($link, $account){ // feljegyzi az általa létrehozott felhasználókat
- global $log,$db;
- $q = "INSERT INTO ".$db['m2n_db'].".".$db['m2n_prefix']."register (account) VALUES ('".mysqli_real_escape_string($link, $account)."')";
+ global $log,$cfg;
+ $q = "INSERT INTO ".$cfg['db_m2n_db'].".".$cfg['db_m2n_prefix']."register (account) VALUES ('".mysqli_real_escape_string($link, $account)."')";
if ($log['verbose'] > 5 ){ echo "M2N -> \t".$q."\n"; }
if(( mysqli_query($link, $q)) !== FALSE ){
if ($log['verbose'] > 4 ){ echo "*\tFelhasználó-hozzáadás, m2n nyilvántartásba vétele.\n"; }
@@ -216,8 +222,8 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function catalog_userena($link, $account){ // az engedélyezetteket
- global $db,$log;
- $q = "UPDATE ".$db['m2n_db'].".".$db['m2n_prefix']."register SET status='active' WHERE account='".mysqli_real_escape_string($link, $account)."'";
+ global $cfg,$log;
+ $q = "UPDATE ".$cfg['db_m2n_db'].".".$cfg['db_m2n_prefix']."register SET status='active' WHERE account='".mysqli_real_escape_string($link, $account)."'";
if ($log['verbose'] > 5 ){ echo "M2N ->\t".$q."\n"; }
if(( mysqli_query($link, $q)) !== FALSE ){
if ($log['verbose'] > 4 ){ echo "*\tFelhasználó-engedélyezés, m2n nyilvántartásba vétele.\n" ;}
@@ -225,8 +231,8 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function catalog_userdel($link, $account){ // a törölteket
- global $db,$log;
- $q = "DELETE FROM ".$db['m2n_db'].".".$db['m2n_prefix']."register WHERE account='".mysqli_real_escape_string($link, $account)."' ";
+ global $cfg,$log;
+ $q = "DELETE FROM ".$cfg['db_m2n_db'].".".$cfg['db_m2n_prefix']."register WHERE account='".mysqli_real_escape_string($link, $account)."' ";
if ($log['verbose'] > 5 ){ echo "M2N ->\t".$q."\n"; }
if(( mysqli_query($link, $q)) !== FALSE ){
if ($log['verbose'] > 5 ){ echo "*\tFelhasználó-törlés, m2n nyilvántartásba vétele.\n"; }
@@ -234,8 +240,8 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function catalog_userdis($link, $account){ // a letiltottakat
- global $m2n,$db,$log;
- $q = "UPDATE ".$db['m2n_db'].".".$db['m2n_prefix']."register SET status='disabled' WHERE account='".mysqli_real_escape_string($link, $account)."'";
+ global $cfg,$cfg,$log;
+ $q = "UPDATE ".$cfg['db_m2n_db'].".".$cfg['db_m2n_prefix']."register SET status='disabled' WHERE account='".mysqli_real_escape_string($link, $account)."'";
if ($log['verbose'] > 5 ){ echo "M2N ->\t".$q."\n"; }
if(( mysqli_query($link, $q)) !== FALSE ){
if ($log['verbose'] > 5 ){ echo "*\tFelhasználó-letiltás, m2n nyilvántartásba vétele.\n"; }
@@ -243,12 +249,12 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function user_add($userAccount, $fullName){ // létrehoz egy felhasználót a Nextcloud-ban
- global $occ_path,$occ_user,$m2n,$log;
-// export OC_PASS=ErősJelszó123; su -s /bin/sh www-data -c 'php web/occ user:add --password-from-env --display-name="Teszt Tamás" --group="csop" t.tamas'
+ global $occ_path,$occ_user,$cfg,$log;
+// export OC_PASS=ErősJelszó123; su -s /bin/sh www-data -c '".phpv()." web/occ user:add --password-from-env --display-name="Teszt Tamás" --group="csop" t.tamas'
if(strlen($userAccount) > 64 or strlen($fullName) > 64){
echo "\n******** Hiba: A felahsználónév, vagy a \"teljes név\" hosszabb, mint 64 karakter! NEM hozható létre!! ********\n";
} else {
- $e = "export OC_PASS=".escp($m2n['default_passw'])."; su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:add --password-from-env --display-name=".escp($fullName)." --group=".escp($m2n['mindenki_csop'])." ".escp($userAccount)." \"" ;
+ $e = "export OC_PASS=".escp(rndstr(20, $pwchars))."; su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:add --password-from-env --display-name=".escp($fullName)." --group=".escp($cfg['mindenki_csop'])." ".escp($userAccount)." \"" ;
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -257,16 +263,16 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function user_del($userAccount){ // kitöröl vagy letilt egy felhasználót a Nextcloud-ban
global $occ_path,$occ_user,$log;
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:info ".escp($userAccount)." --output=json \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:info ".escp($userAccount)." --output=json \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$last_login = json_decode(shell_exec($e),true)['last_seen'] ;
if($last_login == "1970-01-01T00:00:00+00:00" ){
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:delete ".escp($userAccount)." \""; // Ha még soha nem lépett be
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:delete ".escp($userAccount)." \""; // Ha még soha nem lépett be
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e); // akkor törölhető
if ($log['verbose'] > 11 ){ print_r($ret); }
} else {
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:disable ".escp($userAccount)." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:disable ".escp($userAccount)." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e); // különben csak letiltja
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -276,7 +282,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function user_info($userAccount){ // User állpot a Nextcloudban
global $occ_path,$occ_user,$log;
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:info ".escp($userAccount)." --output=json \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:info ".escp($userAccount)." --output=json \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = (array)json_decode(shell_exec($e),true);
if ($log['verbose'] > 10 ){ print_r($ret); }
@@ -286,7 +292,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function user_dis($userAccount){ // letiltja a felhasználót a Nextcloud-ban
global $occ_path,$occ_user,$log;
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:disable ".escp($userAccount)." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:disable ".escp($userAccount)." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -294,7 +300,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function user_ena($userAccount){ // engedélyezi
global $occ_path,$occ_user,$log;
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:enable ".escp($userAccount)." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:enable ".escp($userAccount)." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -303,7 +309,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function nxt_group_list() { // Csoportok listázása a Nextcloud-ból
global $occ_path,$occ_user,$log;
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." group:list --limit=1000000 --output=json \""; //* Jó nagy limittel dolgozzunk
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." group:list --limit=1000000 --output=json \""; //* Jó nagy limittel dolgozzunk
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = (array)json_decode(shell_exec($e),true);
if ($log['verbose'] > 10 ){ print_r($ret); }
@@ -312,12 +318,12 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function nxt_user_list() { // Felhasználók listázása a Nextcloud-ból
global $occ_path,$occ_user,$log;
- // $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:report | grep 'total' | sed -e 's/[^0-9]//g' | tr -d '[:blank:]\n' \"";
+ // $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:report | grep 'total' | sed -e 's/[^0-9]//g' | tr -d '[:blank:]\n' \"";
// if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
// $num = shell_exec($e);
$num = 1000000; //inkább kézi limit!
// $num = $num + 100; // Biztos-ami-biztos, a nextcloud rejtett hibái miatt...
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:list --limit ".escp($num)." --output=json \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:list --limit ".escp($num)." --output=json \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = (array)json_decode(shell_exec($e),true);
if ($log['verbose'] > 10 ){ print_r($ret); }
@@ -326,7 +332,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function nxt_user_lastlogin($userAccount){ // legutóbbi belépés lekérdezése
global $occ_path,$occ_user,$log;
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:info ".escp($userAccount)." --output=json \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:info ".escp($userAccount)." --output=json \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = json_decode(shell_exec($e),true)['last_seen'];
if ($log['verbose'] > 10 ){ print_r($ret); }
@@ -337,17 +343,17 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function user_set($userAccount, array $params){ //beállítja az e-mailt, quota-t, nyelvet a kapott értékekre
global $occ_path,$occ_user,$log;
if(isset($params['quota'])){
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:setting ".escp($userAccount)." files quota ".escp($params['quota'])." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:setting ".escp($userAccount)." files quota ".escp($params['quota'])." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
shell_exec( $e );
}
if(isset($params['email'])){
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:setting ".escp($userAccount)." settings email ".escp($params['email'])." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:setting ".escp($userAccount)." settings email ".escp($params['email'])." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
shell_exec( $e );
}
if(isset($params['lang'])){
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." user:setting ".escp($userAccount)." core lang ".escp($params['lang'])." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." user:setting ".escp($userAccount)." core lang ".escp($params['lang'])." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
shell_exec($e);
}
@@ -356,17 +362,17 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function group_add($groupName){ //Új csoport létrehozása a Nextcloud-ban
- global $occ_user,$occ_path,$link,$db,$log;
+ global $occ_user,$occ_path,$link,$cfg,$log;
$groupName = rmnp($groupName);
if(strlen($groupName) > 64){ //mivel (egyelőre) nics erre 'occ' parancs, ezért közvetlenül kell...
echo "\n****** Hiba: a csoportnév nagyobb, mint 64 karakter!! ******\n";
} else {
- if(nxt_get_version() < 14) {
- $q = "INSERT IGNORE INTO ".mysqli_real_escape_string($link, $db['nxt_dbname']).".".mysqli_real_escape_string($link, $db['nxt_prefix'])."groups (gid) VALUES ('".mysqli_real_escape_string($link,$groupName)."'); ";
+ if(nxt_get_version()[1] < 14) {
+ $q = "INSERT IGNORE INTO ".mysqli_real_escape_string($link, $cfg['db_nxt_dbname']).".".mysqli_real_escape_string($link, $cfg['db_nxt_prefix'])."groups (gid) VALUES ('".mysqli_real_escape_string($link,$groupName)."'); ";
if ($log['verbose'] > 5 ){ echo "NXT ->\t".$q."\n"; }
if(mysqli_query($link, $q) !== TRUE ) echo "\nNXT -> \t****** Csoport létrehozási hiba. (adatbázis) ******\n";
} else {
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." group:add ".escp($groupName)." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." group:add ".escp($groupName)." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -375,25 +381,25 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function group_del($groupName){ // Csoport törlése a Nextcloud-ból
- global $occ_user,$occ_path,$db,$link,$log,$m2n;
+ global $occ_user,$occ_path,$cfg,$link,$log,$cfg;
$grp = nxt_group_list();
$groupName = rmnp($groupName);
if(isset($grp[$groupName])){
- if(nxt_get_version() < 14){ // Mivel erre csak a Nextcloud 14-től van "occ" parancs, ezért néha közvetlenül kell...
+ if(nxt_get_version()[1] < 14){ // Mivel erre csak a Nextcloud 14-től van "occ" parancs, ezért néha közvetlenül kell...
foreach($grp[$groupName] as $key => $user){
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." group:removeuser ".escp($groupName)." ".escp($user)." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." group:removeuser ".escp($groupName)." ".escp($user)." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
- if ($log['verbose'] > 1 ){ echo "*--\t\tTörölve".po(" ($user) a: $groupName",$m2n['csoportnev_hossz']+5,1)."\t csoportból.\n"; }
+ if ($log['verbose'] > 1 ){ echo "*--\t\tTörölve".po(" ($user) a: $groupName",$cfg['csoportnev_hossz']+5,1)."\t csoportból.\n"; }
}
- $q = "DELETE FROM ".mysqli_real_escape_string($link, $db['nxt_dbname']).".".mysqli_real_escape_string($link,$db['nxt_prefix'])."groups WHERE gid='".mysqli_real_escape_string($link, $groupName)."'; " ;
+ $q = "DELETE FROM ".mysqli_real_escape_string($link, $cfg['db_nxt_dbname']).".".mysqli_real_escape_string($link,$cfg['db_nxt_prefix'])."groups WHERE gid='".mysqli_real_escape_string($link, $groupName)."'; " ;
if ($log['verbose'] > 5 ){ echo "NXT ->\t".$q."\n"; }
if(mysqli_query($link, $q) !== TRUE ) echo "\n NXT -> \t****** csoport törlési hiba. (adatbázis) ******\n";
} else {
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." group:delete ".escp($groupName)." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." group:delete ".escp($groupName)." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -403,7 +409,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function group_user_add($groupName, $userAccount){ // Hozzáad egy felhasználót egy csoporthoz a Nextcloud-ban
global $occ_user, $occ_path,$log;
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." group:adduser ".escp($groupName)." ".escp($userAccount)." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." group:adduser ".escp($groupName)." ".escp($userAccount)." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -411,7 +417,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function group_user_del($groupName, $userAccount){ // Kitöröl egy felhasználót egy Nextcoud csoportból
global $occ_user, $occ_path,$log;
- $e = "su -s /bin/sh $occ_user -c \"php ".escp($occ_path."/occ")." group:removeuser ".escp($groupName)." ".escp($userAccount)." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." ".escp($occ_path."/occ")." group:removeuser ".escp($groupName)." ".escp($userAccount)." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -425,8 +431,8 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
$ret = @mkdir($occ_path."/data/".$user."/files/".$path, 0755, true); // Akkor létrehozza
chown($occ_path."/data/".$user."/files/".$path, $occ_user);
chgrp($occ_path."/data/".$user."/files/".$path, $occ_user);
- if($ret === true && $log['verbose'] > 5) { echo "php ->\tDIR: \"".$occ_path."/data/".$user."/files/".$path."\" \t created.\n"; }
- if($ret === false && $log['verbose'] > -1) { echo "php ->\tDIR: \"".$occ_path."/data/".$user."/files/".$path."\" \t makedir failed!!\n"; } //mondjuk ilyen egyáltalán mikor lehet?
+ if($ret === true && $log['verbose'] > 5) { echo "".phpv()." ->\tDIR: \"".$occ_path."/data/".$user."/files/".$path."\" \t created.\n"; }
+ if($ret === false && $log['verbose'] > -1) { echo "".phpv()." ->\tDIR: \"".$occ_path."/data/".$user."/files/".$path."\" \t makedir failed!!\n"; } //mondjuk ilyen egyáltalán mikor lehet?
}
if ($log['verbose'] > 11 ){ print_r($ret); }
return $ret;
@@ -441,9 +447,9 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
fclose($h);
chown($occ_path."/data/".$user."/files/".$path, $occ_user);
chgrp($occ_path."/data/".$user."/files/".$path, $occ_user);
- if($log['verbose'] > 5) { echo "php ->\tFILE: \"".$occ_path."/data/".$user."/files/".$path."\" \t created.\n"; }
+ if($log['verbose'] > 5) { echo "".phpv()." ->\tFILE: \"".$occ_path."/data/".$user."/files/".$path."\" \t created.\n"; }
} else {
- if($log['verbose'] > 5) { echo "php ->\tFILE ERROR: \"".$occ_path."/data/".$user."/files/".$path."\" \t dir not found.\n"; }
+ if($log['verbose'] > 5) { echo "".phpv()." ->\tFILE ERROR: \"".$occ_path."/data/".$user."/files/".$path."\" \t dir not found.\n"; }
}
if ($log['verbose'] > 11 ){ print_r($ret); }
return $ret;
@@ -451,7 +457,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function files_scan($user, $path ){ // Nextcloud files:scan --path=xxx
global $occ_user, $occ_path,$log;
- $e = "su -s /bin/sh $occ_user -c \"php '".$occ_path."/occ' files:scan --path=".escp($user."/files/".$path)." \""; // -v
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." '".$occ_path."/occ' files:scan --path=".escp($user."/files/".$path)." \""; // -v
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -459,7 +465,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function user_notify($user, $msg, $title ){ // Nextcloud értesítés
global $occ_user, $occ_path, $log;
- $e = "su -s /bin/sh $occ_user -c \"php '".$occ_path."/occ' notification:generate -l ".escp($msg)." -- ".escp($user)." ".escp($title)." \"";
+ $e = "su -s /bin/sh $occ_user -c \"".phpv()." '".$occ_path."/occ' notification:generate -l ".escp($msg)." -- ".escp($user)." ".escp($title)." \"";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
$ret = shell_exec($e);
if ($log['verbose'] > 11 ){ print_r($ret); }
@@ -480,7 +486,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function clean_dir($user, $path, $tankorei){ //Tankörmappák kitisztítása (path: mappagyökér)
- global $occ_user, $occ_path, $log, $m2n;
+ global $occ_user, $occ_path, $log, $cfg;
$listdir = scan_dir($user, $path);
$ret[0] = array();
$ret[1] = array();
@@ -491,14 +497,14 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
if(is_dir($occ_path."/data/".$user."/files/".$path."/".$val) && empty(scan_dir($user, $path."/".$val))){ // Ha mappa, és üres -> törlés
rmdir($occ_path."/data/".$user."/files/".$path."/".$val);
$ret[0][] = $val;
- if($log['verbose'] > 5) { echo "php ->\tDIR: \"".$occ_path."/data/".$user."/files/".$path."/".$val."\" deleted.\n"; }
+ if($log['verbose'] > 5) { echo "".phpv()." ->\tDIR: \"".$occ_path."/data/".$user."/files/".$path."/".$val."\" deleted.\n"; }
} else { //Nem mappa, vagy nem üres
if(file_exists( $occ_path."/data/".$user."/files/".$path."/".pathinfo(basename($occ_path."/data/".$user."/files/".$path."/".$val ,".please-remove"))['basename'])){ //Ha az eredeti könyvtár vagy fájl él
rename($occ_path."/data/".$user."/files/".$path."/".$val, $occ_path."/data/".rnescp($user."/files/".$path."/".basename($val, '.please-remove').".".time().".please-remove"));
$ret[1][] = basename($val, '.please-remove').".".time().".please-remove";
user_notify($user,"Az ön >>".$path."/<< könyvtárában tiltott helyen lévő fájl, vagy olyan (tankör)mappa található, amely tankörnek ön továbbá már nem tagja. Kérem helyezze el kívül a >>".$path."/<< mappán, vagy törölje belőle! Eltávolításra megjeleölve! A fájl átnevezve, új neve --> ".rnescp(basename($val, '.please-remove').".".time().".please-remove"), "Fájl/Mappa rossz helyen! --> ".rnescp($path."/".basename($val, '.please-remove').".".time().".please-remove" ));
- if($log['verbose'] > 5) { echo "php ->\tF/D: \"".$occ_path."/data/".$user."/files/".$path."/".$val."\" \t renamed -> ".rnescp(basename($val, '.please-remove').".".time().".please-remove")."\n"; }
+ if($log['verbose'] > 5) { echo "".phpv()." ->\tF/D: \"".$occ_path."/data/".$user."/files/".$path."/".$val."\" \t renamed -> ".rnescp(basename($val, '.please-remove').".".time().".please-remove")."\n"; }
} else {
// A Hanyagul otthagyottakért csak figyelmeztessen:
user_notify($user,"Az ön >>".$path."/<< könyvtárában tiltott helyen lévő fájl, vagy olyan (tankör)mappa található, amely tankörnek ön továbbá már nem tagja. Kérem helyezze el kívül a >>".$path."/<< mappán, vagy törölje belőle! Eltávolításra megjelölve! --> ".$val, "Fájl/Mappa rossz helyen! --> ".$path."/".$val );
@@ -514,18 +520,18 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
function groupdir_create_root($user, $oktId, $path){ //Tankörmappák gyökerét előállítja $path=tankörgyökér
- global $m2n, $occ_path, $occ_user,$log;
+ global $cfg, $occ_path, $occ_user,$log;
$ret = array(false, false);
- if((empty($m2n['groupdir_users']) || in_array($user, $m2n['groupdir_users'])) && $oktId > 0 && $m2n['manage_groupdirs'] === true){ //Ha null -> mindenki, Ha "user" -> scak neki, && tanár && groupdir bekapcsolava
+ if((empty($cfg['groupdir_users']) || in_array($user, $cfg['groupdir_users'])) && $oktId > 0 && $cfg['manage_groupdirs'] === true){ //Ha null -> mindenki, Ha "user" -> scak neki, && tanár && groupdir bekapcsolava
if(is_file($occ_path."/data/".$user."/files/".$path) || is_link($occ_path."/data/".$user."/files/".$path)){ //Ha már vam ott valami ilyen fájl
rename($occ_path."/data/".$user."/files/".$path, $occ_path."/data/".rnescp($user."/files/".$path.".".time().".please-remove")); //Átnevezi, hogy azért mégse vasszen oda
- echo "php ->\tFILE: \"".$occ_path."/data/".$user."/files/".$path."\" \t \t moved away!!!\n";
+ echo "".phpv()." ->\tFILE: \"".$occ_path."/data/".$user."/files/".$path."\" \t \t moved away!!!\n";
user_notify($user,"Fájl: >>".$path.".please-remove<< Illegális helyen volt. Server által eltávolítva.", "Fájl: >>".$path."<< eltávolítva!");
files_scan($user, "" ); //Ekkor az egész $user/files mappát szkenneli
}
$ret[0] = create_dir($user, rmnp($path)); // Tankörmappa gyökér létrehozása
- $ret[1] = write_tofile($user, $path."/"."INFO.txt", $m2n['infotxt_szöveg']); // INFO.txt (Újra)Írása.
+ $ret[1] = write_tofile($user, $path."/"."INFO.txt", $cfg['infotxt_szöveg']); // INFO.txt (Újra)Írása.
if($ret[0] === true){ // Ha frissen létrehozott mappa, akkor az egész userre kell jogot adni
$e = "/bin/chown -R ".escp($occ_user.":".$occ_user)." ".escp($occ_path."/data/".$user."/")." ";
if($log['verbose'] > 5) { echo "bash ->\t".$e."\n"; }
@@ -538,10 +544,10 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function groupdir_create_groupdir($user, $oktId, $path){ // $path = tankörmappa
- global $m2n,$log;
+ global $cfg,$log;
$ret = false;
- if( basename($path,"_beadás") != $m2n['mindenki_tanar'] and basename($path,"_beadás") != $m2n['mindenki_diak'] and basename($path,"_beadás") != $m2n['mindenki_csop']){ //Ezekre a csoportokra minek?
- if((empty($m2n['groupdir_users']) || in_array($user, $m2n['groupdir_users'])) && $oktId > 0 && $m2n['manage_groupdirs'] === true){
+ if( basename($path,"_beadás") != $cfg['mindenki_tanar'] and basename($path,"_beadás") != $cfg['mindenki_diak'] and basename($path,"_beadás") != $cfg['mindenki_csop']){ //Ezekre a csoportokra minek?
+ if((empty($cfg['groupdir_users']) || in_array($user, $cfg['groupdir_users'])) && $oktId > 0 && $cfg['manage_groupdirs'] === true){
$ret = create_dir($user, rmnp($path)); // Tankörmappa létrehozása
if($ret === true){
files_scan($user, $path);
@@ -553,9 +559,9 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function groupdir_finish($user, $oktId, $path, $tankorei ){ //$path=tankörgyökér
- global $m2n,$log;
+ global $cfg,$log;
$ret = array(array(),array(),array(),false,false); //return sekelton
- if((empty($m2n['groupdir_users']) || in_array($user, $m2n['groupdir_users'])) && $oktId > 0 && $m2n['manage_groupdirs'] === true){
+ if((empty($cfg['groupdir_users']) || in_array($user, $cfg['groupdir_users'])) && $oktId > 0 && $cfg['manage_groupdirs'] === true){
if(isset($tankorei)) {
$ret = clean_dir($user, $path, $tankorei);
$ret[3] = false; //mert felülírja a skeleton-t
@@ -585,25 +591,9 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
if(!isset($val['diakId'])){ //workaround
$val['diakId'] = 0;
}
- /*
- $list = array_merge($list, array(
- array( 'userAccount' => $val['userAccount'],
- 'email' => $val['email'],
- 'tanarId' => $val['tanarId'],
- 'diakId' => $val['diakId'],
- 'tankorId' => 0,
- 'fullName' => $val['fullName'],
- 'tankorNev' => $tankorname,
- )
- )
- );
- */
-
$list = array_merge($list, array( $val));
-
$list[$key]['tankorNev'] = $tankorname;
$list[$key]['tankorId'] = 0;
-
if($user !== null && $val['userAccount'] == $user ){ // Null -> mindenkihez, "user" -> csak neki
break;
@@ -645,9 +635,9 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
function get_mayor_szemeszter($link, $date) {
- global $m2n,$log;
+ global $cfg,$log;
$ret = array();
- $q = "SELECT * FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter WHERE (statusz = 'aktív' OR statusz = 'lezárt') AND kezdesDt <= '".$date."' ORDER BY zarasDt DESC LIMIT 1; ";
+ $q = "SELECT * FROM intezmeny_".$cfg['isk_rovidnev'].".szemeszter WHERE (statusz = 'aktív' OR statusz = 'lezárt') AND kezdesDt <= '".$date."' ORDER BY zarasDt DESC LIMIT 1; ";
if ($log['verbose'] > 5 ){ echo "MAY ->\t".$q."\n"; }
if( ($r = mysqli_query($link, $q)) !== FALSE ){
$ret = mysqli_fetch_array($r, MYSQLI_ASSOC);
@@ -663,31 +653,31 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
- function get_mayor_tankor($link){ // A tankörök neveinek lekérdezése a mayorból
- global $m2n,$log;
+ function get_mayor_tankor($link, $date){ // A tankörök neveinek lekérdezése a mayorból
+ global $cfg,$log;
$ret = array();
$req_oszt = "'#'";
- foreach($m2n['min_osztalyok'] as $key => $val){ //A megadott konkrét osztályokra
+ foreach($cfg['min_osztalyok'] as $key => $val){ //A megadott konkrét osztályokra
$req_oszt .= ",'$val'";
}
- $szm = get_mayor_szemeszter($link, $m2n['zaras_tartas']);
+ $szm = get_mayor_szemeszter($link, $date);
if(!empty($szm)){
//Létező összes tankör:
- /* $q = "SELECT tankorId, TRIM(BOTH ' ' FROM CONCAT('".$m2n['csoport_prefix']."',tankorNev)) AS tankorNev
- FROM intezmeny_".$m2n['isk_rovidnev'].".tankorSzemeszter
+ /* $q = "SELECT tankorId, TRIM(BOTH ' ' FROM CONCAT('".$cfg['csoport_prefix']."',tankorNev)) AS tankorNev
+ FROM intezmeny_".$cfg['isk_rovidnev'].".tankorSzemeszter
WHERE tanev = '".$szm['tanev']."' AND szemeszter = '".$szm['szemeszter']."';
";
*/
//csak a megadott évfeolyamokhoz kötődő tankörök:
- $q = "SELECT tankorId, TRIM(BOTH ' ' FROM CONCAT('".$m2n['csoport_prefix']."',tankorNev)) AS tankorNev
- FROM intezmeny_".$m2n['isk_rovidnev'].".tankorSzemeszter
+ $q = "SELECT tankorId, TRIM(BOTH ' ' FROM CONCAT('".$cfg['csoport_prefix']."',tankorNev)) AS tankorNev
+ FROM intezmeny_".$cfg['isk_rovidnev'].".tankorSzemeszter
WHERE tanev = '".$szm['tanev']."' AND szemeszter = '".$szm['szemeszter']."' AND tankorId IN(
SELECT tankorId
- FROM intezmeny_".$m2n['isk_rovidnev'].".tankorOsztaly
+ FROM intezmeny_".$cfg['isk_rovidnev'].".tankorOsztaly
WHERE osztalyId IN (
SELECT osztalyId
- FROM naplo_".$m2n['isk_rovidnev']."_".$szm['tanev'].".osztalyNaplo
- WHERE evfolyamJel >= ".$m2n['min_evfolyam']." OR osztalyJel IN(".$req_oszt.")
+ FROM naplo_".$cfg['isk_rovidnev']."_".$szm['tanev'].".osztalyNaplo
+ WHERE evfolyamJel >= ".$cfg['min_evfolyam']." OR osztalyJel IN(".$req_oszt.")
ORDER BY osztalyId)
ORDER BY tankorId ) ORDER BY tankorNev;
";
@@ -708,10 +698,10 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
- function get_mayor_tanar($link){ // A tanárok lekérdezése a mayorból
- global $m2n,$log;
+ function get_mayor_tanar($link, $date){ // A tanárok lekérdezése a mayorból
+ global $cfg,$log;
$ret = array();
- $szm = get_mayor_szemeszter($link, $m2n['zaras_tartas']);
+ $szm = get_mayor_szemeszter($link, $date);
if(!empty($szm)){
$q = "SELECT accounts.userAccount, accounts.mail, tanar.email, tanar.tanarId, tankorTanar.tankorId, tanar.oId, '' AS employeeId,
tanar.beDt, tanar.kiDt, '' AS kezdoTanev, '' AS vegzoTanev, '' AS jel, '' AS beEv, '' AS osztalyJel,
@@ -719,8 +709,8 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
tanar.szuletesiHely,tanar.szuletesiIdo, '' as lakhelyOrszag, '' as lakhelyHelyseg, '' as lakhelyIrsz,
'' AS lakHely, '' AS telefon, '' AS mobil, tanar.statusz, 'Tanár' AS beoszt,
TRIM(BOTH ' ' FROM CONCAT_WS(' ',viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS fullName,
- TRIM(BOTH ' ' FROM CONCAT('".$m2n['csoport_prefix']."',tankorNev)) AS tankorNev
- FROM intezmeny_".$m2n['isk_rovidnev'].".tanar, mayor_private.accounts, intezmeny_".$m2n['isk_rovidnev'].".tankorTanar, intezmeny_".$m2n['isk_rovidnev'].".tankorSzemeszter
+ TRIM(BOTH ' ' FROM CONCAT('".$cfg['csoport_prefix']."',tankorNev)) AS tankorNev
+ FROM intezmeny_".$cfg['isk_rovidnev'].".tanar, mayor_private.accounts, intezmeny_".$cfg['isk_rovidnev'].".tankorTanar, intezmeny_".$cfg['isk_rovidnev'].".tankorSzemeszter
WHERE accounts.studyId = tanar.oId AND statusz != 'jogviszonya lezárva'
AND ( (tanar.beDt <= '".$szm['reqDt']."' AND ( tanar.kiDt >= '".$szm['reqDt']."' OR tanar.kiDt IS NULL))
/*OR (tanar.beDt <= CURRENT_DATE() AND (CURRENT_DATE() <= tanar.kiDt OR tanar.kiDt IS NULL))*/ )
@@ -748,14 +738,14 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
- function get_mayor_diak($link){ // diákok lekérdezése
- global $m2n,$log;
+ function get_mayor_diak($link, $date){ // diákok lekérdezése
+ global $cfg,$log;
$ret = array();
$req_oszt = "'#'";
- foreach($m2n['min_osztalyok'] as $key => $val){ //A megadott konkrét osztályokra
+ foreach($cfg['min_osztalyok'] as $key => $val){ //A megadott konkrét osztályokra
$req_oszt .= ",'$val'";
}
- $szm = get_mayor_szemeszter($link, $m2n['zaras_tartas']);
+ $szm = get_mayor_szemeszter($link, $date);
if(!empty($szm)){
$q = "SELECT accounts.userAccount, accounts.mail, diak.email, diak.diakId, tankorDiak.tankorId, diak.oId, diak.diakigazolvanySzam AS employeeId,
diak.jogviszonyKezdete AS beDt, diak.jogviszonyVege AS kiDt, osztaly.kezdoTanev, osztaly.vegzoTanev, osztaly.jel, diak.kezdoTanev AS beEv,
@@ -764,16 +754,16 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
TRIM(BOTH ' ' FROM CONCAT_WS(' ',diak.lakhelyKozteruletNev, diak.lakhelyKozteruletJelleg, diak.lakhelyHazszam, diak.lakhelyEmelet, diak.lakhelyAjto)) AS lakHely,
diak.telefon, diak.mobil, diak.statusz,
TRIM(BOTH ' ' FROM CONCAT_WS(' ',viseltNevElotag, viseltCsaladinev, viseltUtonev)) AS fullName,
- TRIM(BOTH ' ' FROM CONCAT('".$m2n['csoport_prefix']."',tankorNev)) AS tankorNev
- FROM intezmeny_".$m2n['isk_rovidnev'].".diak, mayor_private.accounts, intezmeny_".$m2n['isk_rovidnev'].".tankorDiak, intezmeny_".$m2n['isk_rovidnev'].".tankorSzemeszter,
- intezmeny_".$m2n['isk_rovidnev'].".osztalyDiak, intezmeny_".$m2n['isk_rovidnev'].".osztaly, naplo_".$m2n['isk_rovidnev']."_".$szm['tanev'].".osztalyNaplo
+ TRIM(BOTH ' ' FROM CONCAT('".$cfg['csoport_prefix']."',tankorNev)) AS tankorNev
+ FROM intezmeny_".$cfg['isk_rovidnev'].".diak, mayor_private.accounts, intezmeny_".$cfg['isk_rovidnev'].".tankorDiak, intezmeny_".$cfg['isk_rovidnev'].".tankorSzemeszter,
+ intezmeny_".$cfg['isk_rovidnev'].".osztalyDiak, intezmeny_".$cfg['isk_rovidnev'].".osztaly, naplo_".$cfg['isk_rovidnev']."_".$szm['tanev'].".osztalyNaplo
WHERE diak.diakId IN (
SELECT diakId
- FROM intezmeny_".$m2n['isk_rovidnev'].".osztalyDiak
+ FROM intezmeny_".$cfg['isk_rovidnev'].".osztalyDiak
WHERE osztalyId IN (
SELECT osztalyId
- FROM naplo_".$m2n['isk_rovidnev']."_".$szm['tanev'].".osztalyNaplo
- WHERE evfolyamJel >= ".$m2n['min_evfolyam']." OR osztalyJel IN(".$req_oszt.")
+ FROM naplo_".$cfg['isk_rovidnev']."_".$szm['tanev'].".osztalyNaplo
+ WHERE evfolyamJel >= ".$cfg['min_evfolyam']." OR osztalyJel IN(".$req_oszt.")
ORDER BY osztalyId)
ORDER BY diakId)
AND diak.statusz != 'jogviszonya lezárva' AND diak.statusz != 'felvételt nyert' AND diak.oId = accounts.studyId
@@ -811,100 +801,110 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
//--------------------------------------------------------------------------------------------------------------------------------------------//
- if(nxt_get_version() < 13){ //Nextcloud 13-tól támogatott
+
+ if(true) { echo "\n\n######## Mayor-Nextcloud Script ########\n"; echo "######## (".date("Y-m-d H:i:s").") ########\n\n"; $t_start = microtime(true); }
+ if(true) { echo "*** M2N Config betöltése: ($cfgfile fájlból.) ***\n\n"; }
+
+ if(!isset($cfg['allapot_tartas']) or empty($cfg['allapot_tartas']) or $cfg['allapot_tartas'] == "1970-01-01"){ //A jelölt nap állapotának betöltése
+ $cfg['allapot_tartas'] = date("Y-m-d");
+ }
+
+ if($printconfig === true or $debug === true){
+ echo "\n Betöltött Konfig:\n";
+ $m2l = $cfg;
+ $m2l['infotxt_szöveg'] = "<-- TEXT -->"; //Túl hosszú lenne kiprintelni
+ var_export($m2l);
+ echo "\n";
+ }
+ $log['verbose'] = $cfg['verbose'];
+ if($debug === true) {$log['verbose'] = 100;}
+ if( $cfg['always_set_diak_quota'] === true && $log['verbose'] < 4 ){ $log['verbose'] = 4; }
+
+
+
+
+//-------------------------------------------------------------------------------------------------------------------------------
+ $ret = nxt_get_version();
+ if($ret[1] < 13){ //Nextcloud 13-tól támogatott
echo "\n\n******** Legalább Nextcloud 13-mas verzió szükséges! ********\n\n";
+ echo $ret[0]."\n\n";
die();
}
if($printhelp === true){
print_help();
die();
}
- if ($m2n['manage_groupdirs'] === true && $m2n['manage_groups'] === false){
+ if ($cfg['manage_groupdirs'] === true && $cfg['manage_groups'] === false){
print_help();
die();
}
-//-------------------------------------------------------------------------------------------------------------------------------
- if(true) { echo "\n\n######## Mayor-Nextcloud Script ########\n"; echo "######## (".date("Y-m-d H:i:s").") ########\n\n"; $t_start = microtime(true); }
- if(true) { echo "*** M2N Config betöltése: ($cfgfile fájlból.) ***\n\n"; }
- if($printconfig === true){
- echo "\n Betöltött Konfig:\n";
- $m2l = $m2n;
- $m2l['infotxt_szöveg'] = "<-- TEXT -->"; //Túl hosszú lenne kiprintelni
- var_export($m2l);
- echo "\n";
+ if(($link = db_connect($cfg['db_m2n_db'])) == FALSE){ //csatlakozás
+ echo "\n******** MySQL (general) kapcsolat hiba. ********\n";
+ echo "\n******** Script leáll... ********\n";
+ die();
}
- $log['verbose'] = $m2n['verbose'];
- if($debug === true) {$log['verbose'] = 100;}
- if( $m2n['always_set_diak_quota'] === true && $log['verbose'] < 4 ){ $log['verbose'] = 4; }
+ script_install($link); // $link -> script, $link2 -> mayor
- if(($link = db_connect($db)) == FALSE){ //csatlakozás
- echo "\n******** MySQL (general) kapcsolat hiba. ********\n";
+
+ //ha a mayor egy másik szerveren lenne
+ if(!empty($cfg['db_mayor_user'])){ $cfg['db_user'] = $cfg['db_mayor_user']; }
+ if(!empty($cfg['db_mayor_pass'])){ $cfg['db_pass'] = $cfg['db_mayor_pass']; }
+ if(!empty($cfg['db_mayor_host'])){ $cfg['db_host'] = $cfg['db_mayor_host']; }
+ if(!empty($cfg['db_mayor_port'])){ $cfg['db_port'] = $cfg['db_mayor_port']; }
+
+ if(($link2 = db_connect()) == FALSE){
+ echo "\n******** MySQL (mayor) kapcsolat hiba. ********\n";
echo "\n******** Script leáll... ********\n";
die();
- }
- $link2 = $link;
-
- // group_add($m2n['mindenki_csop']); // A "mindenki" csoport hozzáadása
- // group_add($m2n['mindenki_tanar']); // A "mindenki"/tanár csoport hozzáadása
- // group_add($m2n['mindenki_diak']); // A "mindenki"/diák csoport hozzáadása
-
- if(isset($db['mayor_user']) and isset($db['mayor_pass']) and isset($db['mayor_host']) or isset($db['mayor_port']))
- {
- $db['user'] = $db['mayor_user']; //ha a mayor egy másik szerveren lenne
- $db['pass'] = $db['mayor_pass'];
- $db['host'] = $db['mayor_host'];
- $db['port'] = $db['mayor_port'];
- if(($link2 = db_connect($db)) == FALSE){
- echo "\n******** MySQL (mayor) kapcsolat hiba. ********\n";
- echo "\n******** Script leáll... ********\n";
- die();
- } else {
- if ($log['verbose'] > 0 ){ echo "***\tMayor DB connect.\n"; }
- }
+ } else {
+ if ($log['verbose'] > 0 ){ echo "***\tMayor DB connected.\n"; }
}
+ // group_add($cfg['mindenki_csop']); // A "mindenki" csoport hozzáadása (később adjuk hozzá)
+ // group_add($cfg['mindenki_tanar']); // A "mindenki"/tanár csoport hozzáadása
+ // group_add($cfg['mindenki_diak']); // A "mindenki"/diák csoport hozzáadása
//------------------------------------------------------------------------------------------------------------------------------
// Létrehozza az új coportokat a Mayor tankörök szerint
if ($log['verbose'] > 0 ){ echo "\n***\tCsoportok egyeztetése.\n";}
- $tankorok = get_mayor_tankor($link2);
- $tankorok = array_merge($tankorok, array( array("tankorId" => 0, "tankorNev" => $m2n['mindenki_csop'] )));
- $tankorok = array_merge($tankorok, array( array("tankorId" => 0, "tankorNev" => $m2n['mindenki_tanar'] )));
- $tankorok = array_merge($tankorok, array( array("tankorId" => 0, "tankorNev" => $m2n['mindenki_diak'] )));
+ $tankorok = get_mayor_tankor($link2, $cfg['allapot_tartas']);
+ $tankorok = array_merge($tankorok, array( array("tankorId" => 0, "tankorNev" => $cfg['mindenki_csop'] )));
+ $tankorok = array_merge($tankorok, array( array("tankorId" => 0, "tankorNev" => $cfg['mindenki_tanar'] )));
+ $tankorok = array_merge($tankorok, array( array("tankorId" => 0, "tankorNev" => $cfg['mindenki_diak'] )));
$nxt_csop = nxt_group_list();
$elozo_tcsop = "";
$mod_nxt_group = 0;
- if($m2n['manage_groups'] === true){
+ if($cfg['manage_groups'] === true){
foreach($tankorok as $key => $val){ //Végignézi a tankörök szerint
foreach($nxt_csop as $key2 => $val2){
if($key2 == $val['tankorNev']){ //Már van ilyen (tankör)nevű csoport
- if ($log['verbose'] > 3 ){ echo " -\t Csoport:".po("\t".$val['tankorNev'],$m2n['csoportnev_hossz'],1)."-\tok.\n";}
+ if ($log['verbose'] > 3 ){ echo " -\t Csoport:".po("\t".$val['tankorNev'],$cfg['csoportnev_hossz'],1)."-\tok.\n";}
$elozo_tcsop = $val['tankorNev'];
break;
}
}
unset($nxt_csop[$val['tankorNev']]); //Megvizsgálva, többször már nem kell dönteni róla.
if( $val['tankorNev'] == $elozo_tcsop and $key2 != $val['tankorNev'] ){ //Duplikált tankör(név) a Mayorban
- if($log['verbose'] > 2 ){ echo "* -\t Dupla tankör:".po("\t".$val['tankorNev'], $m2n['csoportnev_hossz'],1)."-\tmayor.\n";}
+ if($log['verbose'] > 2 ){ echo "* -\t Dupla tankör:".po("\t".$val['tankorNev'], $cfg['csoportnev_hossz'],1)."-\tmayor.\n";}
}
else if($key2 != $val['tankorNev']){ //Ha nincs ilyen (tankör)nevű csoport
group_add($val['tankorNev']); //Akkor létrehozza
$mod_nxt_group++;
- if ($log['verbose'] > 2 ){ echo "* -\t Új csoport:".po("\t".$val['tankorNev'],$m2n['csoportnev_hossz'],1)."-\thozzáadva.\n";}
+ if ($log['verbose'] > 2 ){ echo "* -\t Új csoport:".po("\t".$val['tankorNev'],$cfg['csoportnev_hossz'],1)."-\thozzáadva.\n";}
}
}
// A megszűnt tanköröket-csoportokat kitörli
foreach($nxt_csop as $key => $val){
- if(substr($key, 0, strlen($m2n['csoport_prefix'])) === $m2n['csoport_prefix'] ){ //Csak a "prefix"-el kezdődő nevűekre.
+ if(substr($key, 0, strlen($cfg['csoport_prefix'])) === $cfg['csoport_prefix'] ){ //Csak a "prefix"-el kezdődő nevűekre.
group_del($key); //elvégzi a törlést
$mod_nxt_group++;
- if ($log['verbose'] > 1 ){ echo "** -\t Megszűnő csop:".po("\t$key",$m2n['csoportnev_hossz'],1)."-\t eltávolítva.\n";}
+ if ($log['verbose'] > 1 ){ echo "** -\t Megszűnő csop:".po("\t$key",$cfg['csoportnev_hossz'],1)."-\t eltávolítva.\n";}
} else {
- if ($log['verbose'] > 3 ){ echo " ---\t Egyéb csoport:".po("\t$key",$m2n['csoportnev_hossz'],1)."-\t békén hagyva.\n";}
+ if ($log['verbose'] > 3 ){ echo " ---\t Egyéb csoport:".po("\t$key",$cfg['csoportnev_hossz'],1)."-\t békén hagyva.\n";}
} // Figyelem! A csoport prefix-szel: "(tk) " kezdődő csoportokat magáénak tekinti, automatikusan töröli!
} // Akkor is, ha az külön, kézzel lett létrehozva.
}
@@ -915,31 +915,31 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
// Felhasználónevek egyeztetése
if ($log['verbose'] > 0 ){ echo "\n***\tFelhasználók egyeztetése.\n";}
- $mayor_tanar = get_mayor_tanar($link2); //Rendezve jön
- $mayor_tanar = add_tk_to_users( $mayor_tanar, null, $m2n['mindenki_tanar']); //csak rendezett tömbökön!
- $mayor_tanar = set_param_to_user($mayor_tanar, null, 'quota', $m2n['default_quota']);
+ $mayor_tanar = get_mayor_tanar($link2, $cfg['allapot_tartas']); //Rendezve jön
+ $mayor_tanar = add_tk_to_users( $mayor_tanar, null, $cfg['mindenki_tanar']); //csak rendezett tömbökön!
+ $mayor_tanar = set_param_to_user($mayor_tanar, null, 'quota', $cfg['default_quota']);
$mayor_tanar = set_param_to_user($mayor_tanar, null, 'diakId', -1 );
usort($mayor_tanar, "mayor_userlistcmp");
- $mayor_diak = get_mayor_diak($link2); //mysql rendezi
- $mayor_diak = add_tk_to_users( $mayor_diak, null, $m2n['mindenki_diak']); //csak rendezett tömbökön!
- $mayor_diak = set_param_to_user($mayor_diak, null, 'quota', $m2n['diak_quota']);
+ $mayor_diak = get_mayor_diak($link2, $cfg['allapot_tartas']); //mysql rendezi
+ $mayor_diak = add_tk_to_users( $mayor_diak, null, $cfg['mindenki_diak']); //csak rendezett tömbökön!
+ $mayor_diak = set_param_to_user($mayor_diak, null, 'quota', $cfg['diak_quota']);
$mayor_diak = set_param_to_user($mayor_diak, null, 'tanarId', -1 );
usort($mayor_diak, "mayor_userlistcmp");
$mayor_user = array();
$mayor_user = array_merge($mayor_tanar, $mayor_diak); //Tanár, és diák lista együtt
- if(isset($m2n['megfigyelo_user']) && $m2n['megfigyelo_user'] != "" ){ //A megfigyelő felvétele a lista végére
+ if(isset($cfg['megfigyelo_user']) && $cfg['megfigyelo_user'] != "" ){ //A megfigyelő felvétele a lista végére
$mayor_user = array_merge($mayor_user, array(
- array( 'userAccount' => $m2n['megfigyelo_user'], //A megfigyelő user legyen egyben virtuális tanár is
+ array( 'userAccount' => $cfg['megfigyelo_user'], //A megfigyelő user legyen egyben virtuális tanár is
'tanarId' => 1, 'diakId' => 0, 'tankorId' => 0, 'fullName' => "Napló Admin Megfigyelő",
- 'email' => $m2n['default_email'],
- 'tankorNev' => $m2n['mindenki_tanar'],
+ 'email' => $cfg['default_email'],
+ 'tankorNev' => $cfg['mindenki_tanar'],
)));
- foreach(get_mayor_tankor($link2) as $key => $val){
+ foreach(get_mayor_tankor($link2, $cfg['allapot_tartas']) as $key => $val){
$mayor_user = array_merge($mayor_user, array(
- array( 'userAccount' => $m2n['megfigyelo_user'],
- 'email' => $m2n['default_email'],
+ array( 'userAccount' => $cfg['megfigyelo_user'],
+ 'email' => $cfg['default_email'],
'tanarId' => 1,
'diakId' => 0,
'tankorId' => $val['tankorId'],
@@ -951,7 +951,7 @@ if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '
}
}
usort($mayor_user, "mayor_userlistcmp"); //rendezés
- $mayor_user = add_tk_to_users( $mayor_user, null, $m2n['mindenki_csop']); //csak rendezett tömbökön //mindenki csoport
+ $mayor_user = add_tk_to_users( $mayor_user, null, $cfg['mindenki_csop']); //csak rendezett tömbökön //mindenki csoport
usort($mayor_user, "mayor_userlistcmp"); //Végén ismét rendezzük az egészet
$mayor_user = array_merge($mayor_user, array(array('userAccount' => null, 'fullName' => null, 'tankorNev' => null, 'diakId' => 0, 'tanarId' => 0,)) ); //strázsa a lista végére
@@ -979,7 +979,7 @@ die();
if($curr != $val['userAccount']){ //CSAK Rendezett tömbökön !!
foreach($nxt_user as $key2 => $val2){
if($curr == $key2){ //Már létezik a felhasználó a Nextcloud-ban
- $log['curr'] = "-\tFelhasználó:".po("\t$curr_n ($curr)",$m2n['felhasznalo_hossz'],1)."--\tlétezik.\n";
+ $log['curr'] = "-\tFelhasználó:".po("\t$curr_n ($curr)",$cfg['felhasznalo_hossz'],1)."--\tlétezik.\n";
if ($log['verbose'] > 3 ){ echo " -".$log['curr']; $log['curr'] = "";}
if ( in_array($curr, $m2n_catalog['account'])){ //Benne van-e a nyilvántartásban?
if($m2n_catalog['status'][array_keys($m2n_catalog['account'], $curr)[0]] == 'disabled' ){ // Ha le lett tiltva
@@ -987,48 +987,48 @@ die();
catalog_userena($link, $curr); //Ha netán le lenne tiltva, akkor engedélyezi,
user_ena($curr); // ha a script tiltotta le.
$mod_nxt_user++;
- $log['curr'] = "-\tFelhasználó:".po("\t$curr_n ($curr)",$m2n['felhasznalo_hossz'],1)."--\tengedélyezve.\n";
+ $log['curr'] = "-\tFelhasználó:".po("\t$curr_n ($curr)",$cfg['felhasznalo_hossz'],1)."--\tengedélyezve.\n";
if ($log['verbose'] > 2 ){ echo " -".$log['curr']; $log['curr'] = ""; } //Ez is változtatás
}
} else { //Nincs a katalógusban, nincs tiltva, felvesszük
catalog_useradd($link, $curr);
- if ($log['verbose'] > 1 ){ echo "-\t\tA felhasználó:".po("\t$curr",$m2n['felhasznalo_hossz'],1)."-\tnyilvántartásba véve.\n";}
+ if ($log['verbose'] > 1 ){ echo "-\t\tA felhasználó:".po("\t$curr",$cfg['felhasznalo_hossz'],1)."-\tnyilvántartásba véve.\n";}
}
//--------------------------------------- QUOTA -----------------------------------//
- if($m2n['always_set_diak_quota'] === true && $curr_tanarId < 0 && $curr_diakId > 0 ){ //Állítsunk-e erőből (diák) qvótát?
- $params['quota'] = $m2n['diak_quota']; // Alapértelmezett diák kvóta
+ if($cfg['always_set_diak_quota'] === true && $curr_tanarId < 0 && $curr_diakId > 0 ){ //Állítsunk-e erőből (diák) qvótát?
+ $params['quota'] = $cfg['diak_quota']; // Alapértelmezett diák kvóta
user_set($curr,$params);
$mod_nxt_user++;
if ($log['verbose'] > 3 ){ echo "* -\t\tBeállítva:\t"."Qvóta: ".$params['quota']."\t\n"; }
}
- if($m2n['manage_groups'] === true){ //Csak, ha a acsoportokhoz is nyúlunk
+ if($cfg['manage_groups'] === true){ //Csak, ha a acsoportokhoz is nyúlunk
//------------------------- Tankörmappa györkér + info.txt ------------------------//
- $ret = groupdir_create_root($curr, $curr_tanarId, $m2n['groupdir_prefix']);
- if ($ret[0] === true && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tLétrehozva :".po("\t./".$curr."/files/".$m2n['groupdir_prefix'],$m2n['csoportnev_hossz'],1)."\ttankörmappa gyökér.\n";}
- if ($ret[1] > 0 && $log['verbose'] > 3 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tLétrehozva :".po("\t./".$curr."/files/". $m2n['groupdir_prefix']."/INFO.txt",$m2n['csoportnev_hossz'],1)."\tfájl.\n";}
+ $ret = groupdir_create_root($curr, $curr_tanarId, $cfg['groupdir_prefix']);
+ if ($ret[0] === true && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tLétrehozva :".po("\t./".$curr."/files/".$cfg['groupdir_prefix'],$cfg['csoportnev_hossz'],1)."\ttankörmappa gyökér.\n";}
+ if ($ret[1] > 0 && $log['verbose'] > 3 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tLétrehozva :".po("\t./".$curr."/files/". $cfg['groupdir_prefix']."/INFO.txt",$cfg['csoportnev_hossz'],1)."\tfájl.\n";}
//------------------------------------------ Tankörök egyeztetése -------------------------------------------//
foreach($nxt_group as $key3 => $val3){ //A tankörök egyeztetése
- if(in_array($key3, $tankorei) /*or $key3 == $m2n['mindenki_csop']*/){ //szerepel-e a felhasználó tankörei között a csoport, vagy a "mindenki" csoport?
+ if(in_array($key3, $tankorei) /*or $key3 == $cfg['mindenki_csop']*/){ //szerepel-e a felhasználó tankörei között a csoport, vagy a "mindenki" csoport?
if( in_array($curr, $val3)){ //Igen, és már benne is van +++
- if ($log['verbose'] > 3 ){ echo " -\t\tBenne van a:".po("\t$key3",$m2n['csoportnev_hossz'],1)."\tcsoportban.\n";}
+ if ($log['verbose'] > 3 ){ echo " -\t\tBenne van a:".po("\t$key3",$cfg['csoportnev_hossz'],1)."\tcsoportban.\n";}
} else { //Nincs, most kell beletenni
- if ($log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tHozzáadva a:".po("\t$key3",$m2n['csoportnev_hossz'],1)."\tcsoporthoz.\n"; }
+ if ($log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tHozzáadva a:".po("\t$key3",$cfg['csoportnev_hossz'],1)."\tcsoporthoz.\n"; }
group_user_add($key3, $curr); //A "mindenki csoportot is ellenőrzi
$mod_nxt_user++;
}
//------------------------------- Tankörmappa -----------------------------// //( "_" --> mindenkinek, "username" --> csak neki ) && tanár
- $ret = groupdir_create_groupdir($curr, $curr_tanarId, $m2n['groupdir_prefix']."/".$key3);
- if ($ret === true && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\tÚj mappa Létrehozva:".po("\t/".$key3."/",$m2n['csoportnev_hossz'],1)."\t./".$curr."/files/".$m2n['groupdir_prefix']."/ mappába\n";}
- $ret = groupdir_create_groupdir($curr, $curr_tanarId, $m2n['groupdir_prefix']."/".$key3."_beadás");
- if ($ret === true && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\tÚj mappa Létrehozva:".po("\t/".$key3."_beadás/",$m2n['csoportnev_hossz'],1)."\t./".$curr."/files/".$m2n['groupdir_prefix']."/ mappába\n";}
+ $ret = groupdir_create_groupdir($curr, $curr_tanarId, $cfg['groupdir_prefix']."/".$key3);
+ if ($ret === true && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\tÚj mappa Létrehozva:".po("\t/".$key3."/",$cfg['csoportnev_hossz'],1)."\t./".$curr."/files/".$cfg['groupdir_prefix']."/ mappába\n";}
+ $ret = groupdir_create_groupdir($curr, $curr_tanarId, $cfg['groupdir_prefix']."/".$key3."_beadás");
+ if ($ret === true && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\tÚj mappa Létrehozva:".po("\t/".$key3."_beadás/",$cfg['csoportnev_hossz'],1)."\t./".$curr."/files/".$cfg['groupdir_prefix']."/ mappába\n";}
//------------------------------------- Tankör (Csoportból) törlés -------------------------//
} else { //Nem szerepel a tankörei között
- if(in_array($curr, $val3) and (substr($key3, 0, strlen($m2n['csoport_prefix'])) === $m2n['csoport_prefix']) ){ // korábban benne volt egy tankörben, de már nincs, vagy a hozzátartozó tankörben már nem tanít => kiveszi
- if ($log['verbose'] > 1 ){if($log['curr'] !== ""){echo "*".$log['curr'];$log['curr'] = "";} echo "* -\t\tTörölve a:".po("\t$key3",$m2n['csoportnev_hossz'],1)."\tcsoportból.\n"; }
+ if(in_array($curr, $val3) and (substr($key3, 0, strlen($cfg['csoport_prefix'])) === $cfg['csoport_prefix']) ){ // korábban benne volt egy tankörben, de már nincs, vagy a hozzátartozó tankörben már nem tanít => kiveszi
+ if ($log['verbose'] > 1 ){if($log['curr'] !== ""){echo "*".$log['curr'];$log['curr'] = "";} echo "* -\t\tTörölve a:".po("\t$key3",$cfg['csoportnev_hossz'],1)."\tcsoportból.\n"; }
group_user_del($key3, $curr); //egy korábbi tankör lehetett...
$mod_nxt_user++;
}
@@ -1036,11 +1036,11 @@ die();
}
//------------------------------------- Tankörmappa törlés + NXT-rescan ----------------------------------// //( "_" --> mindenkinek, "username" --> csak neki ) && tanár
- $ret = groupdir_finish($curr, $curr_tanarId, $m2n['groupdir_prefix'], $tankorei);
- if (count($ret[0]) > 0 && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} foreach($ret[0] as $retkey => $retval){ echo "* -\t Üres (Tankör)mappa:".po("\t/".$retval."/", $m2n['csoportnev_hossz'],1)."\t./".$curr."/files/".$m2n['groupdir_prefix']."/ mappából törölve.\n";}}
- if (count($ret[1]) > 0 && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} foreach($ret[1] as $retkey => $retval){ echo "* -\tFájl/Mappa Átnevezve:".po("\t/".$retval."/", $m2n['csoportnev_hossz'],1)."\t./".$curr."/files/".$m2n['groupdir_prefix']."/ mappában.\n";}}
- if (count($ret[2]) > 0 && $log['verbose'] > 3 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} foreach($ret[2] as $retkey => $retval){ echo "* -\t\tTankörmappa:".po("\t/".$retval."/", $m2n['csoportnev_hossz'],1)."\t./".$curr."/files/".$m2n['groupdir_prefix']."/ mappában békén hagyva.\n";}}
- if ($ret[3] === true && $log['verbose'] > 3 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tNXT-rescan :".po("\t./".$curr."/files/".$m2n['groupdir_prefix']."/", $m2n['csoportnev_hossz'],1)."\t mappán.\n";}
+ $ret = groupdir_finish($curr, $curr_tanarId, $cfg['groupdir_prefix'], $tankorei);
+ if (count($ret[0]) > 0 && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} foreach($ret[0] as $retkey => $retval){ echo "* -\t Üres (Tankör)mappa:".po("\t/".$retval."/", $cfg['csoportnev_hossz'],1)."\t./".$curr."/files/".$cfg['groupdir_prefix']."/ mappából törölve.\n";}}
+ if (count($ret[1]) > 0 && $log['verbose'] > 2 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} foreach($ret[1] as $retkey => $retval){ echo "* -\tFájl/Mappa Átnevezve:".po("\t/".$retval."/", $cfg['csoportnev_hossz'],1)."\t./".$curr."/files/".$cfg['groupdir_prefix']."/ mappában.\n";}}
+ if (count($ret[2]) > 0 && $log['verbose'] > 3 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} foreach($ret[2] as $retkey => $retval){ echo "* -\t\tTankörmappa:".po("\t/".$retval."/", $cfg['csoportnev_hossz'],1)."\t./".$curr."/files/".$cfg['groupdir_prefix']."/ mappában békén hagyva.\n";}}
+ if ($ret[3] === true && $log['verbose'] > 3 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tNXT-rescan :".po("\t./".$curr."/files/".$cfg['groupdir_prefix']."/", $cfg['csoportnev_hossz'],1)."\t mappán.\n";}
}
$mod_nxt_user_all++;
break;
@@ -1051,36 +1051,36 @@ die();
user_add($curr, $curr_n); //Akkor hozzá kell adni
catalog_useradd($link, $curr);
- if ($log['verbose'] > 2 ){ echo "**-\tFelhasználó:".po("\t$curr_n ($curr)",$m2n['felhasznalo_hossz'],1)."--\tlétrehozva.\n"; }
+ if ($log['verbose'] > 2 ){ echo "**-\tFelhasználó:".po("\t$curr_n ($curr)",$cfg['felhasznalo_hossz'],1)."--\tlétrehozva.\n"; }
$mod_nxt_user++;
- if($m2n['manage_groups'] === true){
- $ret = groupdir_create_root($curr, $curr_tanarId, $m2n['groupdir_prefix']);
- if ($ret[0] === true && $log['verbose'] > 2 ){ echo "* -\t\tLétrehozva :".po("\t./".$curr."/files/".$m2n['groupdir_prefix']."/",$m2n['csoportnev_hossz'],1)."\ttankörmappa gyökér.\n";}
- if ($ret[1] > 0 && $log['verbose'] > 2 ){ echo "* -\t\tLétrehozva :".po("\t./".$curr."/files/".$m2n['groupdir_prefix']."/INFO.txt",$m2n['csoportnev_hossz'],1)."\tfájl.\n";}
+ if($cfg['manage_groups'] === true){
+ $ret = groupdir_create_root($curr, $curr_tanarId, $cfg['groupdir_prefix']);
+ if ($ret[0] === true && $log['verbose'] > 2 ){ echo "* -\t\tLétrehozva :".po("\t./".$curr."/files/".$cfg['groupdir_prefix']."/",$cfg['csoportnev_hossz'],1)."\ttankörmappa gyökér.\n";}
+ if ($ret[1] > 0 && $log['verbose'] > 2 ){ echo "* -\t\tLétrehozva :".po("\t./".$curr."/files/".$cfg['groupdir_prefix']."/INFO.txt",$cfg['csoportnev_hossz'],1)."\tfájl.\n";}
foreach($tankorei as $key3 => $val3){ //Hozzáadja a (tankör)csoportokhoz is egyből,
if(array_key_exists($val3, $nxt_group)) { // de, csak akkor, ha az a csoport a Nextcloud-ban is létezik.
group_user_add($val3, $curr);
- if ($log['verbose'] > 2 ){ echo "* -\t\tHozzáadva a:".po("\t $val3",$m2n['csoportnev_hossz'],1)."\tcsoporthoz.\n"; }
- $ret = groupdir_create_groupdir($curr, $curr_tanarId, $m2n['groupdir_prefix']."/".$val3);
- if ($ret === true && $log['verbose'] > 2 ){echo "* -\tÚj mappa Létrehozva:".po("\t/".$val3."/",$m2n['csoportnev_hossz'],1)."\t./".$curr."/files/".$m2n['groupdir_prefix']."/ mappa\n";}
- $ret = groupdir_create_groupdir($curr, $curr_tanarId, $m2n['groupdir_prefix']."/".$val3."_beadás");
- if ($ret === true && $log['verbose'] > 2 ){echo "* -\tÚj mappa Létrehozva:".po("\t/".$val3."_beadás/",$m2n['csoportnev_hossz'],1)."\t./".$curr."/files/".$m2n['groupdir_prefix']."/ mappa\n";}
+ if ($log['verbose'] > 2 ){ echo "* -\t\tHozzáadva a:".po("\t $val3",$cfg['csoportnev_hossz'],1)."\tcsoporthoz.\n"; }
+ $ret = groupdir_create_groupdir($curr, $curr_tanarId, $cfg['groupdir_prefix']."/".$val3);
+ if ($ret === true && $log['verbose'] > 2 ){echo "* -\tÚj mappa Létrehozva:".po("\t/".$val3."/",$cfg['csoportnev_hossz'],1)."\t./".$curr."/files/".$cfg['groupdir_prefix']."/ mappa\n";}
+ $ret = groupdir_create_groupdir($curr, $curr_tanarId, $cfg['groupdir_prefix']."/".$val3."_beadás");
+ if ($ret === true && $log['verbose'] > 2 ){echo "* -\tÚj mappa Létrehozva:".po("\t/".$val3."_beadás/",$cfg['csoportnev_hossz'],1)."\t./".$curr."/files/".$cfg['groupdir_prefix']."/ mappa\n";}
}
}
- $ret = groupdir_finish($curr, $curr_tanarId, $m2n['groupdir_prefix'], null);
- if ($ret[3] === true && $log['verbose'] > 3 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tNXT-rescan :".po("\t./".$curr."/files/".$m2n['groupdir_prefix']."/", $m2n['csoportnev_hossz'],1)."\t mappán.\n";}
+ $ret = groupdir_finish($curr, $curr_tanarId, $cfg['groupdir_prefix'], null);
+ if ($ret[3] === true && $log['verbose'] > 3 ){if($log['curr'] !== ""){echo "**".$log['curr'];$log['curr'] = "";} echo "* -\t\tNXT-rescan :".po("\t./".$curr."/files/".$cfg['groupdir_prefix']."/", $cfg['csoportnev_hossz'],1)."\t mappán.\n";}
}
if($curr_diakId > 0) { //Ennyi is elég // Diákról van szó /// if($curr_tanarId < 0 && $curr_diakId > 0)
- $params['quota'] = $m2n['diak_quota']; // Alapértelmezett kvóta
+ $params['quota'] = $cfg['diak_quota']; // Alapértelmezett kvóta
} else {
- $params['quota'] = $m2n['default_quota']; // Alapértelmezett kvóta
+ $params['quota'] = $cfg['default_quota']; // Alapértelmezett kvóta
}
- $params['lang'] = $m2n['default_lang']; // Nyelv
+ $params['lang'] = $cfg['default_lang']; // Nyelv
if($curr_e == ""){
- $params['email'] = $m2n['default_email']; // e-mail beállítása
+ $params['email'] = $cfg['default_email']; // e-mail beállítása
} else {
$params['email'] = $curr_e; // ha van a mysql-ben e-mail, akkor azt használja
}
@@ -1108,11 +1108,11 @@ die();
if( nxt_user_lastlogin($key) == "1970-01-01T00:00:00+00:00" ){ //Még soha nem lépett be = 1970.01.01 ??
user_del($key); //Akkor törli
catalog_userdel($link, $key); //A listáról is
- if ($log['verbose'] > 1 ){ echo "**-\tFelhasználó:".po("\t$val ($key)",$m2n['felhasznalo_hossz'],1)."--\ttörölve.\n"; }
+ if ($log['verbose'] > 1 ){ echo "**-\tFelhasználó:".po("\t$val ($key)",$cfg['felhasznalo_hossz'],1)."--\ttörölve.\n"; }
} else {
user_dis($key); //Különben csak letiltja (fájlok ne vesszenek el)
catalog_userdis($link, $key); //Feljegyzi a nyilvántartásba
- if ($log['verbose'] > 1 ){ echo "**-\tFelhasználó:".po("\t$val ($key)",$m2n['felhasznalo_hossz'],1)."--\tletiltva.\n"; }
+ if ($log['verbose'] > 1 ){ echo "**-\tFelhasználó:".po("\t$val ($key)",$cfg['felhasznalo_hossz'],1)."--\tletiltva.\n"; }
}
$mod_nxt_user++;
$mod_nxt_user_all++;
@@ -1137,13 +1137,13 @@ die();
foreach($m2n_catalog['account'] as $key => $val){
if(@$nxt_user[$val] === null ){ //Erre a nextcloud "occ" parancs hibakezelése miatt van szükség
- if ($log['verbose'] > 4 ){ echo "**-\tFelhasználónév:".po("\t($val)",$m2n['felhasznalo_hossz'],1)."--\tkivéve a nyilvántartásból.\n";}
+ if ($log['verbose'] > 4 ){ echo "**-\tFelhasználónév:".po("\t($val)",$cfg['felhasznalo_hossz'],1)."--\tkivéve a nyilvántartásból.\n";}
catalog_userdel($link, $val);
}
}
- foreach($m2n_forbidden as $key => $val){ //Szinkronizálja a $m2n['kihagy'] listát a nyilvántartással.
- if(!in_array($val, $m2n['kihagy'])){
- if ($log['verbose'] > 4 ){ echo "**-\tFelhasználó:".po("\t($val)",$m2n['felhasznalo_hossz'],1)."--\tújra kezelve.\n";}
+ foreach($m2n_forbidden as $key => $val){ //Szinkronizálja a $cfg['kihagy'] listát a nyilvántartással.
+ if(!in_array($val, $cfg['kihagy'])){
+ if ($log['verbose'] > 4 ){ echo "**-\tFelhasználó:".po("\t($val)",$cfg['felhasznalo_hossz'],1)."--\tújra kezelve.\n";}
catalog_userena($link,$val);
user_ena($val);
}
@@ -1166,7 +1166,7 @@ die();
if ($log['verbose'] > 0 ){ echo "\n(Runtime: ".$t_run." min.)\nkész.\n";} //endline
} else {
- echo "\n\n******** Legalább PHP7 és mysqli szükséges! ********\n\n";
+ echo "\n\n******** Legalább PHP5 és mysqli szükséges! ********\n\n";
}