aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--egyéb/nextcloud/README2
-rw-r--r--egyéb/nextcloud/mayor-ldap.php61
-rw-r--r--egyéb/nextcloud/mayor-nextcloud.php160
3 files changed, 138 insertions, 85 deletions
diff --git a/egyéb/nextcloud/README b/egyéb/nextcloud/README
index 85eb8da5..cac6a972 100644
--- a/egyéb/nextcloud/README
+++ b/egyéb/nextcloud/README
@@ -1,4 +1,4 @@
-
+
Nextcloud(13) - Mayor script
Ezen script segítségével a Mayor-naplóból tudunk felhasználókat és csoportokat importálni a Nextcloud felhőbe,
diff --git a/egyéb/nextcloud/mayor-ldap.php b/egyéb/nextcloud/mayor-ldap.php
index e30d0dbb..b811612e 100644
--- a/egyéb/nextcloud/mayor-ldap.php
+++ b/egyéb/nextcloud/mayor-ldap.php
@@ -87,7 +87,7 @@ function print_help(){
}
-if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Improved) és php7 kell!
+if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '>=')) { //MySQLi (Improved) és php7 kell!
function db_connect(array $db){
global $log;
@@ -777,6 +777,63 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
return $ret;
}
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+
+var_dump( version_compare(phpversion(), '7.0', '<='));
+echo "\n\n".phpversion()."\n\n";
+
+die();
+$server = "10.100.3.3"; //this is the LDAP server you're connecting with
+$port = "636";
+$ld = ldap_connect("ldaps://$server:$port"); //always connect securely via LDAPS when possible
+
+ldap_set_option($ld, LDAP_OPT_X_TLS_REQUIRE_CERT, LDAP_OPT_X_TLS_NEVER);
+// LDAP_OPT_X_TLS_NEVER, LDAP_OPT_X_TLS_HARD, LDAP_OPT_X_TLS_DEMAND, LDAP_OPT_X_TLS_ALLOW, LDAP_OPT_X_TLS_TRY
+ldap_set_option($ld, LDAP_OPT_NETWORK_TIMEOUT, 10);
+ldap_set_option($ld, LDAP_OPT_PROTOCOL_VERSION, 3);
+ldap_set_option($ld, LDAP_OPT_REFERRALS, 0);
+
+
+
+$basedn = "DC=ad,DC=bmrg,DC=lan";
+ldap_set_option($ld, LDAP_OPT_MATCHED_DN, $basedn);
+
+
+$ldapbind = ldap_bind($ld, $dn, $pass); //this is the point we are authenticating
+
+
+
+
+print_r($ldapbind);
+echo "\n---\n";
+
+$dn = "dc=ad,dc=bmrg,dc=lan"; //very important: in which part of your database are you looking
+$filter = "(objectclass=*)"; //don't filter anyone out (every user has a uid)
+$sr = ldap_search($ld, $dn, $filter) or die ("bummer"); //define your search scope
+
+$results = ldap_get_entries($ld, $sr); //here we are pulling the actual entries from the search we just defined
+print_r($results); //will give you all results is array form.
+echo "\n--\n";
+
+//did the connecting and binding
+$dn = "cn=bikeowners,cn=groups,dc=server,dc=example,dc=com"; //note the extra "cn=groups" for looking in a group that is not "users"
+$filter = "email=*"; //email address must be set but can be anything
+$sr = ldap_search($ld, $dn, $filter) or die ("bummer"); //define your search scope
+
+
+ldap_close($ld);
+
+
+
+
+
+
+
+
+
+
+
+
//--------------------------------------------------------------------------------------------------------------------------------------------//
@@ -816,7 +873,7 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
echo "\n******** MySQL (general) kapcsolat hiba. ********\n";
echo "\n******** Script leáll... ********\n";
die();
- }
+ }
$link2 = $link;
// group_add($m2n['mindenki_csop']); // A "mindenki" csoport hozzáadása
diff --git a/egyéb/nextcloud/mayor-nextcloud.php b/egyéb/nextcloud/mayor-nextcloud.php
index 19fbfe14..e95270b5 100644
--- a/egyéb/nextcloud/mayor-nextcloud.php
+++ b/egyéb/nextcloud/mayor-nextcloud.php
@@ -87,7 +87,7 @@ function print_help(){
}
-if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Improved) és php7 kell!
+if (function_exists('mysqli_connect') and version_compare(phpversion(), '7.0', '>=')) { //MySQLi (Improved) és php7 kell!
function db_connect(array $db){
global $log;
@@ -538,7 +538,7 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
}
function groupdir_create_groupdir($user, $oktId, $path){ // $path = tankörmappa
- global $m2n;
+ global $m2n,$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){
@@ -553,7 +553,7 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
}
function groupdir_finish($user, $oktId, $path, $tankorei ){ //$path=tankörgyökér
- global $m2n;
+ global $m2n,$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(isset($tankorei)) {
@@ -634,6 +634,26 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
return $inp;
}
+ function get_mayor_szemeszter($link) {
+ global $m2n,$log;
+ $ret = array();
+ $q = "SELECT * FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter
+ WHERE ((statusz = 'aktív' OR statusz = 'lezárt') AND zarasDt = '".$m2n['zaras_tartas']."')
+ OR (statusz = 'aktív' AND kezdesDt <= CURRENT_DATE() AND CURRENT_DATE() <= zarasDt) ;
+ ";
+ if ($log['verbose'] > 5 ){ echo "MAY ->\t".$q."\n"; }
+ if( ($r = mysqli_query($link, $q)) !== FALSE ){
+ $ret = mysqli_fetch_array($r, MYSQLI_ASSOC);
+ mysqli_free_result($r);
+ } else {
+ echo "\nMAY ->\t ******** Mayor_napló (tankör)lekérdezési hiba. (adatbázis) ********\n";
+ }
+ if ($log['verbose'] > 10 ){ print_r($ret); }
+ return $ret;
+ }
+
+
+
function get_mayor_tankor($link){ // A tankörök neveinek lekérdezése a mayorból
global $m2n,$log;
@@ -642,35 +662,18 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
foreach($m2n['min_osztalyok'] as $key => $val){ //A megadott konkrét osztályokra
$req_oszt .= ",'$val'";
}
-//Létező összes tankör:
-/* $q = "SELECT tankorId, TRIM(BOTH ' '
- FROM CONCAT('".$m2n['csoport_prefix']."',tankorNev)) AS tankorNev
- FROM intezmeny_".$m2n['isk_rovidnev'].".tankorSzemeszter
- WHERE tanev = (
- SELECT tanev
- FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter
- WHERE statusz = 'aktív'
- GROUP BY tanev) AND szemeszter = (
- SELECT szemeszter
- FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter
- WHERE statusz = 'aktív' AND kezdesDt <= CURRENT_DATE() AND (CURRENT_DATE() <= zarasDt OR zarasDt = '".$m2n['zaras_tartas']."' )); ";
-*/
-//csak a megadott évfeolyamokhoz kötődő tankörök:
- $qq = "SELECT tanev FROM intezmeny_".mysqli_real_escape_string($link, $m2n['isk_rovidnev']).".szemeszter WHERE statusz = 'aktív' GROUP BY tanev; ";
- if ($log['verbose'] > 5 ){ echo "MAY ->\t".$qq."\n"; }
- if( ($r = mysqli_query($link, $qq)) !== FALSE ){
- $ev = mysqli_fetch_array($r, MYSQLI_ASSOC);
- $q = "SELECT tankorId, TRIM(BOTH ' '
- FROM CONCAT('".$m2n['csoport_prefix']."',tankorNev)) AS tankorNev
+ $ev = get_mayor_szemeszter($link);
+ if(!empty($ev)){
+ //Létező összes tankör:
+ /* $q = "SELECT tankorId, TRIM(BOTH ' ' FROM CONCAT('".$m2n['csoport_prefix']."',tankorNev)) AS tankorNev
+ FROM intezmeny_".$m2n['isk_rovidnev'].".tankorSzemeszter
+ WHERE tanev = '".$ev['tanev']."' AND szemeszter = '".$ev['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
- WHERE tanev = (
- SELECT tanev
- FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter
- WHERE statusz = 'aktív'
- GROUP BY tanev) AND szemeszter = (
- SELECT szemeszter
- FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter
- WHERE statusz = 'aktív' AND kezdesDt <= CURRENT_DATE() AND (CURRENT_DATE() <= zarasDt OR zarasDt = '".$m2n['zaras_tartas']."')) AND tankorId IN(
+ WHERE tanev = '".$ev['tanev']."' AND szemeszter = '".$ev['szemeszter']."' AND tankorId IN(
SELECT tankorId
FROM intezmeny_".$m2n['isk_rovidnev'].".tankorOsztaly
WHERE osztalyId IN (
@@ -689,6 +692,8 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
} else {
echo "\nMAY ->\t ******** Mayor_napló (tankör)lekérdezési hiba. (adatbázis) ********\n";
}
+ } else {
+ echo "\nMAY ->\t ******** Mayor_napló (tankör)lekérdezési hiba. (adatbázis) ********\n";
}
if ($log['verbose'] > 10 ){ print_r($ret); }
return $ret;
@@ -698,28 +703,27 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
function get_mayor_tanar($link){ // A tanárok lekérdezése a mayorból
global $m2n,$log;
$ret = array();
- $q = "SELECT userAccount, email, tanar.tanarId, tankorTanar.tankorId, 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
- WHERE accounts.studyId = tanar.oId AND statusz != 'jogviszonya lezárva' AND tanar.beDt <= CURRENT_DATE() AND (CURRENT_DATE() <= tanar.kiDt
- OR tanar.kiDt IS NULL) AND tanar.tanarId = tankorTanar.tanarId AND tankorTanar.beDt <= CURRENT_DATE() AND (CURRENT_DATE() <= tankorTanar.kiDt OR tankorTanar.kiDt = '".$m2n['zaras_tartas']."' )
- AND tankorTanar.tankorId = tankorSzemeszter.tankorId AND tankorSzemeszter.tanev = (
- SELECT tanev
- FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter
- WHERE statusz = 'aktív'
- GROUP BY tanev) AND szemeszter = (
- SELECT szemeszter
- FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter
- WHERE statusz = 'aktív' AND kezdesDt <= CURRENT_DATE() AND (CURRENT_DATE() <= zarasDt OR zarasDT = '".$m2n['zaras_tartas']."' ))
- ORDER BY userAccount ;
- ";
- if ($log['verbose'] > 5 ){ echo "MAY ->\t".$q."\n"; }
- if(( $r = mysqli_query($link, $q)) !== FALSE ){
- while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
- $ret[] = $row;
+ $ev = get_mayor_szemeszter($link);
+ if(!empty($ev)){
+ $q = "SELECT userAccount, email, tanar.tanarId, tankorTanar.tankorId,
+ 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
+ WHERE accounts.studyId = tanar.oId AND statusz != 'jogviszonya lezárva' AND tanar.beDt <= CURRENT_DATE() AND (CURRENT_DATE() <= tanar.kiDt OR tanar.kiDt IS NULL)
+ AND tanar.tanarId = tankorTanar.tanarId AND tankorTanar.beDt <= CURRENT_DATE() AND (CURRENT_DATE() <= tankorTanar.kiDt OR tankorTanar.kiDt = '".$m2n['zaras_tartas']."' )
+ AND tankorTanar.tankorId = tankorSzemeszter.tankorId
+ AND tankorSzemeszter.tanev = '".$ev['tanev']."' AND szemeszter = '".$ev['szemeszter']."'
+ ORDER BY userAccount ;
+ ";
+ if ($log['verbose'] > 5 ){ echo "MAY ->\t".$q."\n"; }
+ if(( $r = mysqli_query($link, $q)) !== FALSE ){
+ while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
+ $ret[] = $row;
+ }
+ mysqli_free_result($r);
+ } else {
+ echo "\nMAY ->\t ******** Mayor_napló (tanár)lekérdezési hiba. (adatbázis) ********\n";
}
- mysqli_free_result($r);
} else {
echo "\nMAY ->\t ******** Mayor_napló (tanár)lekérdezési hiba. (adatbázis) ********\n";
}
@@ -735,37 +739,29 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
foreach($m2n['min_osztalyok'] as $key => $val){ //A megadott konkrét osztályokra
$req_oszt .= ",'$val'";
}
- $q = "SELECT tanev FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter WHERE statusz = 'aktív' GROUP BY tanev; ";
- if ($log['verbose'] > 5 ){ echo "MAY ->\t".$q."\n"; }
- if( ($r = mysqli_query($link, $q)) !== FALSE ){
- $ev = mysqli_fetch_array($r, MYSQLI_ASSOC);
- $q = "SELECT userAccount, email, diak.diakId, tankorDiak.tankorId, 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
- WHERE diak.diakId IN (
- SELECT diakId
- FROM intezmeny_".$m2n['isk_rovidnev'].".osztalyDiak
- WHERE osztalyId IN (
- SELECT osztalyId
- FROM naplo_".$m2n['isk_rovidnev']."_".$ev['tanev'].".osztalyNaplo
- WHERE evfolyamJel >= ".$m2n['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
- AND tankorDiak.diakId = diak.diakId AND tankorDiak.beDt <= CURRENT_DATE() AND (tankorDiak.kiDt >= CURRENT_DATE() OR tankorDiak.kiDt IS NULL OR tankorDiak.kiDt = '".$m2n['zaras_tartas']."' )
- AND tankorSzemeszter.tankorId = tankorDiak.tankorId AND tankorSzemeszter.tanev = (
- SELECT tanev
- FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter
- WHERE statusz = 'aktív'
- GROUP BY tanev) AND tankorSzemeszter.szemeszter = (
- SELECT szemeszter
- FROM intezmeny_".$m2n['isk_rovidnev'].".szemeszter
- WHERE statusz = 'aktív' AND kezdesDt <= CURRENT_DATE() AND (CURRENT_DATE() <= zarasDt OR zarasDt = '".$m2n['zaras_tartas']."' ))
- ORDER BY userAccount;
+ $ev = get_mayor_szemeszter($link);
+ if(!empty($ev)){
+ $q = "SELECT userAccount, email, diak.diakId, tankorDiak.tankorId,
+ 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
+ WHERE diak.diakId IN (
+ SELECT diakId
+ FROM intezmeny_".$m2n['isk_rovidnev'].".osztalyDiak
+ WHERE osztalyId IN (
+ SELECT osztalyId
+ FROM naplo_".$m2n['isk_rovidnev']."_".$ev['tanev'].".osztalyNaplo
+ WHERE evfolyamJel >= ".$m2n['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
+ AND tankorDiak.diakId = diak.diakId AND tankorDiak.beDt <= CURRENT_DATE() AND (tankorDiak.kiDt >= CURRENT_DATE() OR tankorDiak.kiDt IS NULL OR tankorDiak.kiDt = '".$m2n['zaras_tartas']."' )
+ AND tankorSzemeszter.tankorId = tankorDiak.tankorId
+ AND tankorSzemeszter.tanev = '".$ev['tanev']."' AND tankorSzemeszter.szemeszter = '".$ev['szemeszter']."'
+ ORDER BY userAccount;
";
if ($log['verbose'] > 5 ){ echo "MAY ->\t".$q."\n"; }
if(( $r = mysqli_query($link, $q)) !== FALSE ){
-// mysqli_fetch_array($r, MYSQLI_ASSOC);
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {
$ret[] = $row;
}
@@ -774,8 +770,8 @@ if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7) { //MySQLi (Im
echo "\nMAY ->\t ******** Mayor_napló (diák)lekérdezési hiba. (adatbázis) ********";
}
} else {
- echo "\nMAY ->\t ******** Mayor_napló (diák)lekérdezési hiba. (adatbázis) ********";
- }
+ echo "\nMAY ->\t ******** Mayor_napló (diák)lekérdezési hiba. (adatbázis) ********";
+ }
if ($log['verbose'] > 10 ){ print_r($ret); }
return $ret;
}