From 6eea2eab5285e0e1a0b63ed70da998aff9dd6c7a Mon Sep 17 00:00:00 2001 From: M.Gergo Date: Tue, 17 Mar 2020 20:01:55 +0100 Subject: Mayor-Nextcloud script: Felhasználó kihagyása változott + Mefigyelő júzer + refactoring --- "egy\303\251b/nextcloud/mayor-nextcloud.cfg.php" | 31 ++++++++++++++---------- "egy\303\251b/nextcloud/mayor-nextcloud.php" | 29 ++++++++++++++-------- 2 files changed, 37 insertions(+), 23 deletions(-) (limited to 'egyéb') diff --git "a/egy\303\251b/nextcloud/mayor-nextcloud.cfg.php" "b/egy\303\251b/nextcloud/mayor-nextcloud.cfg.php" index a2fbf50b..e6882f71 100644 --- "a/egy\303\251b/nextcloud/mayor-nextcloud.cfg.php" +++ "b/egy\303\251b/nextcloud/mayor-nextcloud.cfg.php" @@ -19,9 +19,6 @@ $db['nxt_prefix'] = "oc_"; //$db['mayor_user'] = ""; //$db['mayor_pass'] = ""; -$m2n['megfigyelo_user'] = "naplo_robot"; -$m2n['beken_hagy'] = array(); //pl: array('Trap.Pista', 'Ebeed.Elek', '22att') - $m2n['min_evfolyam'] = 1; $m2n['isk_rovidnev'] = "rovid"; $m2n['csoport_prefix'] = "(tk) "; @@ -34,6 +31,8 @@ $m2n['felhasznalo_hossz'] = 45; $m2n['default_lang'] = "hu"; $m2n['mindenki_csop'] = "naplós_felhasználók"; $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/"; @@ -82,9 +81,9 @@ Beállítása az alábbiak szerint: (egy lehetséges elrendezés) $db['port'] = "3306"; //nextcloud-mysql port - $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 + $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. @@ -149,7 +148,7 @@ Beállítása az alábbiak szerint: (egy lehetséges elrendezés) // ebbe a "mindenki" csoportba minden, a script által létrehozott felhasználó bekerül. $m2n['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 !; + // Ha már nem kell, akkor állítsd "1970-01-01"-ra !; $m2n['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, @@ -161,8 +160,16 @@ 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. + // 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. + // ez a felhasználó be lesz léptetve az összes csoportba, így az összes üzenetet megkapja, + // és az összes fájlt eléri, amit a csoportokkal megosztottak. - CONFIG FILE: "mayor-nextcloud.cfg.php"; //Lehetőség van a konfig exportálására egy külön fájlba, + + CONFIG FILE: "mayor-nextcloud.cfg.php"; //Lehetőség van a konfig exportálására egy külön fájlba, // így a mayor-nextcloud scriptet nem kell szerkeszteni, ha frissítés érkezik hozzá. // Ez alapértelmezetten a maxor-nextcloud.php -val kell egy könyvtárba legyen. @@ -175,13 +182,11 @@ Beállítása az alábbiak szerint: (egy lehetséges elrendezés) - További Információk: - - Lehetőség van egy-egy felhasználó letiltására, ezt a nyilvántartó adatbázisban tehetjük meg, a "register" tábla, - az adott felhasználónévhez tartozó "status" mezőjének "forbidden"-re állításával. - Ekkor a script nem fog foglalkozni, az adott felhasználóval a továbbiakban. + További Információk: + + Esetleg érdemes lehet a scriptet betenni a "cron"-ba (éjszakára), így naponta lefut, és követi napló változásait. (Ez esetben figyelni kell arra, hogy mayorban a tankör-diák, tankör-tanár összerendelések az év végén lejárhatnak, (pl. júni. 15-én) így a script futtatása júni. 16-án kitörli, letiltja az összes létrehozott mayor-os csoportot, és felhasználót a nextcloud-ból, diff --git "a/egy\303\251b/nextcloud/mayor-nextcloud.php" "b/egy\303\251b/nextcloud/mayor-nextcloud.php" index cf0335d2..2fbab220 100644 --- "a/egy\303\251b/nextcloud/mayor-nextcloud.php" +++ "b/egy\303\251b/nextcloud/mayor-nextcloud.php" @@ -16,18 +16,17 @@ $db['nxt_prefix'] = "oc_"; //$db['mayor_user'] = ""; //$db['mayor_pass'] = ""; -$m2n['megfigyelo_user'] = "naplo_robot"; -$m2n['beken_hagy'] = array(); //pl: array('Trap.Pista', 'Ebeed.Elek', '22att') - $m2n['min_evfolyam'] = 1; $m2n['isk_rovidnev'] = "rovid"; $m2n['csoport_prefix'] = "(tk) "; $m2n['default_email'] = "indulo@iskola.hu"; $m2n['default_passw'] = "EHYmGktzrdfS7wxJR6DFqxjJ"; $m2n['default_quota'] = "10GB"; -$m2n['min_osztalyok'] = array(); //pl: array('9.a','11.a'); +$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['mindenki_csop'] = "naplós_felhasználók"; $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 !; @@ -113,15 +112,17 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im } function catalog_userlist($link){ //akiket a script hozott létre - global $db,$log; + global $db,$log,$m2n; $ret['account'] = array(); $ret['status'] = array(); $q = "SELECT * FROM ".$db['m2n_db'].".".$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)) { - $ret['account'][] = $row['account']; - $ret['status'][] = $row['status']; + if(!in_array($row['account'], $m2n['kihagy'])){ + $ret['account'][] = $row['account']; + $ret['status'][] = $row['status']; + } } mysqli_free_result($r); if ($log['verbose'] > 4 ){ echo "*\tFelhasználó m2n nyilvántartás lekérdezése.\n"; } @@ -141,6 +142,7 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im $ret[] = $row['account']; } mysqli_free_result($r); + $ret = array_merge($ret, $m2n['kihagy']); if ($log['verbose'] > 4 ){ echo "*\tFelhasználó-letiltások m2n nyilvántartás lekérdezése.\n"; } return $ret; } else { @@ -696,13 +698,20 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im if ($log['verbose'] > 0 ){ echo "\n***\tNyilvántartás ellenőrzése.\n";} $nxt_user = nxt_user_list(); $m2n_catalog = catalog_userlist($link); - foreach($m2n_catalog['account'] as $key => $val){ //Erre a nextcloud "occ" parancs hibakezelése miatt van szükség - - if(@$nxt_user[$val] === null ){ + $m2n_forbidden = catalog_forbiddenlist($link); + + 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.";} 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ónév:".po("\t($val)",$m2n['felhasznalo_hossz'],1)."--\tújraaktiválva nyilvántartásban.";} + catalog_userena($link,$val); + } + } //------------------------------------------------------------------------------------------------------------------------------- -- cgit v1.2.3