aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorM.Gergo2020-03-17 20:01:55 +0100
committerM.Gergo2020-03-17 20:01:55 +0100
commit6eea2eab5285e0e1a0b63ed70da998aff9dd6c7a (patch)
treea4dd0afcdcaa56797cc515d0bb03940af33dc293
parent41ce729229b5851d1192da35add2562aec421c00 (diff)
downloadmayor-6eea2eab5285e0e1a0b63ed70da998aff9dd6c7a.tar.gz
mayor-6eea2eab5285e0e1a0b63ed70da998aff9dd6c7a.zip
Mayor-Nextcloud script: Felhasználó kihagyása változott + Mefigyelő júzer + refactoring
-rw-r--r--egyéb/nextcloud/mayor-nextcloud.cfg.php31
-rw-r--r--egyéb/nextcloud/mayor-nextcloud.php29
2 files changed, 37 insertions, 23 deletions
diff --git a/egyéb/nextcloud/mayor-nextcloud.cfg.php b/egyéb/nextcloud/mayor-nextcloud.cfg.php
index a2fbf50b..e6882f71 100644
--- a/egyéb/nextcloud/mayor-nextcloud.cfg.php
+++ b/egyéb/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éb/nextcloud/mayor-nextcloud.php b/egyéb/nextcloud/mayor-nextcloud.php
index cf0335d2..2fbab220 100644
--- a/egyéb/nextcloud/mayor-nextcloud.php
+++ b/egyéb/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);
+ }
+ }
//-------------------------------------------------------------------------------------------------------------------------------