aboutsummaryrefslogtreecommitdiffstats
path: root/mayor
diff options
context:
space:
mode:
Diffstat (limited to 'mayor')
-rw-r--r--mayor/bin/backup.sh317
-rw-r--r--mayor/bin/crypt-backup.sh144
-rw-r--r--mayor/bin/decrypt-backup.sh138
-rwxr-xr-xmayor/bin/etc/cron.daily/mayor13
-rw-r--r--mayor/bin/help.sh47
-rw-r--r--mayor/bin/lock.sh42
-rwxr-xr-xmayor/bin/mayor74
-rw-r--r--mayor/bin/remote-backup.sh170
-rw-r--r--mayor/bin/restore.sh257
-rwxr-xr-xmayor/bin/sbin/eNaploBackup.sh95
-rwxr-xr-xmayor/bin/sbin/eNaploRestore.sh82
-rw-r--r--mayor/bin/sbin/update.sh33
-rw-r--r--mayor/bin/tex2pdf.sh24
-rw-r--r--mayor/bin/unlock.sh49
-rw-r--r--mayor/bin/update.sh227
-rw-r--r--mayor/bin/xetex2pdf.sh36
-rw-r--r--mayor/update/processUpdateScripts.sh267
-rw-r--r--mayor/update/processUpdateScripts.sh.mod.txt183
-rw-r--r--mayor/update/processUpdateScripts.sh.orig259
-rw-r--r--mayor/www/include/modules/naplo/share/file.php662
20 files changed, 0 insertions, 3119 deletions
diff --git a/mayor/bin/backup.sh b/mayor/bin/backup.sh
deleted file mode 100644
index 152a9b7c..00000000
--- a/mayor/bin/backup.sh
+++ /dev/null
@@ -1,317 +0,0 @@
-#!/bin/bash
-
-OPT_SPEC="hnlf:d::"
-LONG_OPT_SPEC="help,now,skip-lock,file:,backup-file:,dir:,backup-dir::"
-PARSED_OPTIONS=$(getopt -n "$0" -a -o $OPT_SPEC --long $LONG_OPT_SPEC -- "$@")
-OPTIONS_RET=$?
-eval set -- "$PARSED_OPTIONS"
-
-help_usage() {
-cat <<EOF
-
-Backup használata: mayor backup [opciók]
-
-A parancs segítségével menthetjük a MaYoR rendszer adatbázisait, aktuális forrását és
-beállításait. A mentés alapértelmezetten az aktuális dátum alapján lesz elnevezve
-"YYYYmmdd.tgz" alakban (pl. $DATE.tgz).
-
-Lehetőség van azonnali mentésre, akkor is, ha már volt aznap mentés,
-ehhez használjuk a --now kapcsolót.
-
-A mentési könyvtár, a szükséges jelszavak és egyéb mentési paraméterek beállításait a
-/etc/mayor/main.conf állományban kell megadni.
-
-Újdonság:
- Ezentúl a backup folyamat egyben a napló Lock-file -vel történő ideiglenes zárolásával jár,
- ha ezt el szeretnénk kerülni, akkor használjuk a --skip-lock kapcsolót.
-
-Opciók:
- -h, --help: A parancs leírása (amit most olvasol...)
- -f, --file, --backup-file: A mentési állomány neve
- -d, --dir, --backup-dir: A mentési könyvtár elérési útja
- -l, --skip-lock: A mellőzi a mayor zárolását a backup futása alatt.
- -n, --now: Mentést készít most/azonnal.
-
-EOF
-}
-
-#if [ $OPTIONS_RET -ne 0 ] || [ $# -le 1 ]; then help_usage; exit; fi
-if [ $OPTIONS_RET -ne 0 ]; then help_usage; exit; fi
-
-BACKUPFILE="$DATE"
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- --backup-file | --file | -f ) shift
- BACKUPFILE="$1"
- echo "Backup fájl: $BACKUPFILE"
- ;;
-
- --backup-dir | --dir | -d ) shift
- BACKUPDIR="$1"
- echo "Backup könyvtár: $BACKUPDIR"
- ;;
-
- --skip-lock | -l ) SKIPLOCK=1
- ;;
-
- --now | -n ) shift
- DATE=$(date "+%Y%m%d_%H%M%S")
- BACKUPFILE="$DATE"
- #echo "Backup fájl: $BACKUPFILE.tgz"
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1" # ide elvileg sose jutunk, mert a getopts már kiszűrte a hibás paramétereket...
- exit
- ;;
- esac
- shift
-done
-
-###########################
-
-if [ -z $BACKUPDIR ]; then
- if [ -f ../config/backup.conf ]; then
- echo "WARNING: elavult konfigurációs állomány! (backup.conf)"
- echo " A frissítési rendszer a korábbi backup.conf és update.conf állományok helyett"
- echo " egy új, rögzített helyen lévő állományt használ: /etc/mayor/main.conf"
- echo " Most - ennek hiányában - a régebbi állományt használjuk"
- . ../config/backup.conf
- else
- echo -e "\n\nERROR: Hiányzó konfigurációs file: ../config/backup.conf"
- pwd
- exit 11
- fi
-fi
-
-### A lockfile beállítása
-
-LOCK_MARAD=0
-if [ "$SKIPLOCK" != "1" ]; then
- if [ ! -z $LOCKFILE ] && [ ! -f $LOCKFILE ]; then
- if [ "$VERBOSE" -gt 0 ]; then
- echo -e "* A web-es elérés letiltása:"
- echo -n "- Lock-file létrehozása... "
- echo -e "kész."
- fi
- echo "$DATE: Backup fut... " > $LOCKFILE
-# echo -n " - Aktív munkamenetek törlése... " ### erre elvileg itt nincs szükség
-# $MYSQL $MYSQL_PARAMETERS -e"DELETE FROM mayor_login.session"
-# echo "kész."
- else
- if [ $VERBOSE -gt 1 ]; then echo -e "* A web-es elérés már le van tiltva..."; fi
- LOCK_MARAD=1
- fi
-else
- if [ $VERBOSE -gt 1 ]; then echo -e "* A lock-olást a kérésedre kihagytam..."; fi
-fi
-
-function freeup_lock {
-if [ -e $LOCKFILE ]; then
- if [ ! -z $LOCKFILE ] && [ $LOCK_MARAD != 1 ]; then
- if [ $VERBOSE -gt 1 ]; then echo -e "-"; echo -n "* A web-es hozzáférés engedélyezése:..."; fi
- rm $LOCKFILE
- if [ $VERBOSE -gt 1 ]; then echo -e "kész."; echo -e "-"; fi
- fi
-fi
-}
-
-
-##
-# A könyvtárak létrehozása
-##
-
-if [ ! -e $BACKUPDIR ]; then
- mkdir $BACKUPDIR > /dev/null 2>&1
- if [ $? -ne 1 ]; then
- echo "*** Nem sikerült a $BACKUPDIR könyvtárat létrehozni!"
- echo "**** MaYoR Backup failure! ****"
- freeup_lock
- exit 1
- fi
-fi
-chown $WEB_SERVER_USER $BACKUPDIR
-chmod 700 $BACKUPDIR
-
-if [ -e $BACKUPDIR/$BACKUPFILE.tgz ]; then
- echo -e "\n**** ERROR: már volt mentés: $BACKUPDIR/$BACKUPFILE.tgz ****\n"
- freeup_lock
- exit 1
-fi
-mkdir $BACKUPDIR/$BACKUPFILE
-chown $WEB_SERVER_USER $BACKUPDIR/$BACKUPFILE
-chmod 700 $BACKUPDIR/$BACKUPFILE
-
-##
-# mysql adatbázis mentése
-##
-if [ $VERBOSE -gt 0 ]; then
- echo -e "-"
- echo -e "* Backup fájl: $BACKUPFILE.tgz"
-fi
-
-if [ "$MYSQL_HOST" == "" ]; then
- MYSQL_HOST="localhost"
-fi
-
-DB_INTEZMENYEK=''
-if [ -f $MYSQL ] && [ -f $MYSQLDUMP ]; then
-
- if [ -f "$BASEDIR/config/my.cnf" ]; then
- MYSQL_CONFIG="--defaults-extra-file=$BASEDIR/config/my.cnf" ##Vigyázat! a 'mysql' kliens rossz! Néha beleveszi a $(pwd) tartamát is!
- TEST=$(echo "SHOW VARIABLES LIKE '%character_set_client%'" | $MYSQL "$MYSQL_CONFIG" | tail -n+2 | cut -f 2)
-### Csak character_set_client=utf8 engedélyezett
- if [ "$TEST" == "utf8" ]; then
- if [ $VERBOSE -gt 2 ]; then echo -e "- MySQL-connect OK (my.cnf)" ; fi
- else
- MYSQL_CONFIG="-h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW --default-character-set=utf8"
- fi
- else
- MYSQL_CONFIG="-h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW --default-character-set=utf8"
- fi
-
-### Ellenőrizzük
- TEST=$(echo "SHOW VARIABLES LIKE '%character_set_client%'" | $MYSQL $MYSQL_CONFIG | tail -n+2 | cut -f 2)
- if [ "$TEST" == "utf8" ]; then
- if [ $VERBOSE -gt 2 ]; then echo -e "- MySQL-connect OK (utf8+user/passw)"; fi
- else
- echo -e "*** MySQL-connect ERROR (nem utf8 vagy hibás user/passw)"
- exit 2
- fi
-
- DATABASES=''
- for DB in $(echo 'SHOW DATABASES' | $MYSQL $MYSQL_CONFIG); do
- if [[ ! $EXCLUDED_DBS =~ .*$DB.* ]] && { [[ $DB =~ ^mayor.* ]] || [[ $DB =~ ^naplo.* ]] || [[ $DB =~ ^intezmeny.* ]]; } then
- DATABASES="$DATABASES $DB"
- fi
- done
- DB_INTEZMENYEK=$($MYSQL $MYSQL_CONFIG -e "SET NAMES 'utf8'; SELECT rovidNev FROM mayor_naplo.intezmeny; " | tail -n+2 ) ### Elvileg itt sem lehetne ékezetes
-
-else
- echo -e "*** MySQL ERROR: A mysql kliens nem található: $MYSQL\n"
- freeup_lock
- exit 2
-fi
-
-
-##
-# Adatbázisok mentése
-##
-
-if [ $VERBOSE -gt 2 ]; then echo -e "* Adatbázisok mentése:"; fi
-
-for DATABASE in $DATABASES; do
- if [ ! -z $MYSQLDUMP ]; then
- ### SET NAMES-hez: --set-charset
- ### Szebb: --result-file=file_name
-# mysqldump $MYSQL_CONFIG -R --set-charset --result-file="$BACKUPDIR/$BACKUPFILE/$DATABASE.sql" $DATABASE
- $MYSQLDUMP $MYSQL_CONFIG -R --set-charset --result-file="$BACKUPDIR/$BACKUPFILE/$DATABASE.sql" $DATABASE
- else
- mysqldump $MYSQL_CONFIG -R --set-charset --result-file="$BACKUPDIR/$BACKUPFILE/$DATABASE.sql" $DATABASE
- fi
- if [ $VERBOSE -gt 3 ]; then echo -e "- $DATABASE"; fi
-done
-
-
-##
-# A honlap mentése
-##
-if [ $VERBOSE -gt 2 ]; then echo -e "* Fájlok mentése:"; fi
-mkdir $BACKUPDIR/$BACKUPFILE/log
-cp -a $BASEDIR/log/revision $BACKUPDIR/$BACKUPFILE/log/revision
-if [ $VERBOSE -gt 3 ]; then echo -e "- revision"; fi
-cp -a $BASEDIR/www $BACKUPDIR/$BACKUPFILE/www
-if [ $VERBOSE -gt 3 ]; then echo -e "- www/*"; fi
-cp -a $BASEDIR/config $BACKUPDIR/$BACKUPFILE/config
-if [ $VERBOSE -gt 3 ]; then echo -e "- config/*"; fi
-
-if [ $VERBOSE -gt 2 ]; then echo -e "* Templétek mentése:"; fi
-for RN in $(echo $DB_INTEZMENYEK); do ## a nyomtatási templétek is legyenek benne a mentésben
-if [ -d "$BASEDIR/print/module-naplo/templates/$RN" ]; then
- mkdir -p $BACKUPDIR/$BACKUPFILE/print/module-naplo/templates/
- cp -a $BASEDIR/print/module-naplo/templates/$RN $BACKUPDIR/$BACKUPFILE/print/module-naplo/templates/$RN
- if [ $VERBOSE -gt 3 ]; then echo -e "- $RN/*"; fi
-fi
-done
-
-if [ "$SAVELDAP" == 1 ]; then
-
- ##
- # Az LDAP adatbázis
- ##
- if [ $VERBOSE -gt 1 ]; then echo -e "* LDAP mentése"; fi
-
- /etc/init.d/slapd stop
- sleep 1
-
- slapcat -b $BASEDN -l $BACKUPDIR/$BACKUPFILE/ldap.ldif
-
- cp -a $LDAPDBDIR $BACKUPDIR/$BACKUPFILE/ldap
-
- /etc/init.d/slapd start
-
- ##
- # LDAP konfig file-ok mentése (schema)
- ##
-
- mkdir $BACKUPDIR/$BACKUPFILE/etc
- cp -a $LDAPCONFDIR $BACKUPDIR/$BACKUPFILE/etc/
-
-fi
-
-##
-# Becsomagolás
-##
-
-if [ $VERBOSE -gt 2 ]; then echo -e "* Becsaomagolás"; fi
-cd $BACKUPDIR
-#### Ez a korábbi szerintem hibás:
-#### tar cfz ${BACKUPFILE}.tgz ${DATE}
-#tar cfz ${BACKUPFILE}.tgz ${BACKUPFILE} ##Ez is néha...
-
-# ez már jó
-tar -czf "$BACKUPFILE.tgz" "$BACKUPFILE/"
-rm -rf $BACKUPFILE
-#Debian6 inkompatibilis: tar cfz ${BACKUPFILE}.tgz --remove-files ${BACKUPFILE}
-
-if [ $VERBOSE -gt 0 ]; then echo -e "* Takarítás"; fi
-##
-# Mentés átmásolása másik szerverre
-# rsync # Losonci János kiegészítése (losy@agymk.sulinet.hu)
-##
-
-if [ "$RSYNC" == 1 ]; then
- if [ $VERBOSE -gt 2 ]; then echo -e "* RSYNC küldés"; fi
- RSYNCBIN=$(which rsync)
- if [ "$RSYNCBIN" != "" ]; then
- echo $RSYNCBIN -auvE $BACKUPDIR/ $RUSER@$RHOST:$RPATH/
- $RSYNCBIN -auvE $BACKUPDIR/ $RUSER@$RHOST:$RPATH/
- if [ $? -ne 0 ]; then
- echo "rsync error!"
- fi
- fi
-fi
-
-##
-# Elavult mentés törlése
-##
-
-declare -i BDAYS=BACKUPDAYS
-if [ $BDAYS -gt 0 ]; then
- find $BACKUPDIR -mtime +$BDAYS -exec rm {} \;
-fi
-
-###
-## Végül a lock-olás feloldása
-#
-freeup_lock
-if [ $VERBOSE -gt 1 ]; then echo -e "* Backup-script vége.\n"; fi
-
-### \ No newline at end of file
diff --git a/mayor/bin/crypt-backup.sh b/mayor/bin/crypt-backup.sh
deleted file mode 100644
index 11e10a27..00000000
--- a/mayor/bin/crypt-backup.sh
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/bin/bash
-#
-# Example: mayor crypt-backup --backup-file=/tmp/wiki.tgz
-# Az eredmény a $BACKUPDIR/$DATE-crypt.tgz állományba kerül
-# (Vagy jobb lenne, ha a file nevéből venné a nevét?)
-#
-# TODO: ellenőrizni kell még, hogy van-e openssl és aespipe
-#
-
-OPT_SPEC="hf:d::"
-LONG_OPT_SPEC="help,file:,backup-file:,dir:,backup-dir::"
-PARSED_OPTIONS=$(getopt -n "$0" -a -o $OPT_SPEC --long $LONG_OPT_SPEC -- "$@")
-OPTIONS_RET=$?
-eval set -- "$PARSED_OPTIONS"
-
-help_usage() {
-cat <<EOF
-
-Crypt-backup használata: mayor crypt-backup [opciók]
-
-A parancs segítségével titkosíthatjuk meglévő mentési állományunkat. Az így kapott
-állomány akár nyilvános tárhelyen is tárolható, kibontásához az intézmény privát
-kulcsa szükséges.
-A script alapértelmezetten az aktuális dátum alapján elnevezett mentési állományt
-keres: "YYYYmmdd.tgz" alakban (pl. $DATE.tgz), ebből készít "YYYYmmdd-crypt.tgz"
-nevű állományt (pl. ${DATE}-crypt.tgz).
-
-A mentési könyvtár, a szükséges jelszavak és egyéb mentési paraméterek beállításait a
-/etc/mayor/main.conf állományban kell megadni.
-
-Opciók:
- -h, --help: A parancs leírása (amit most olvasol...)
- -f, --file, --backup-file: A mentési állomány neve
- -d, --dir, --backup-dir: A mentési könyvtár elérési útja
-
-EOF
-}
-
-#if [ $OPTIONS_RET -ne 0 ] || [ $# -le 1 ]; then help_usage; exit; fi
-if [ $OPTIONS_RET -ne 0 ]; then help_usage; exit; fi
-
-BACKUPFILE="$DATE"
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- --backup-file | --file | -f ) shift
- BACKUPFILE="$1"
- echo "Backup fájl: $BACKUPFILE"
- ;;
-
- --backup-dir | --dir | -d ) shift
- BACKUPDIR="$1"
- echo "Backup könyvtár: $BACKUPDIR"
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1" # ide elvileg sose jutunk, mert a getopts már kiszűrte a hibás paraméterek
- exit
- ;;
- esac
- shift
-done
-
-############################
-
-# mysql bináris ellenőrzése
-if [ ! -f $MYSQL ]; then
- echo -e "\n\nERROR: A mysql kliens nem található: $MYSQL\n"
- exit 1
-fi
-
-# Login adatbázis eléréséhez szükséges paraméterek lekérdezése a konfig-ból...
-DB=`grep db $BASEDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
-USER=`grep user $BASEDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
-PW=`grep pw $BASEDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
-
-# Ellenőrizzük, hogy van-e publikus kulcs - regisztrált intézmény-e
-COUNT=`$MYSQL -e 'SELECT count(publicKey) FROM mayorSsl' -p$PW -u$USER $DB | grep -i -v count`
-if [ "$COUNT" -ne "1" ]; then
- echo "Publikus kulcsok száma: $COUNT"
- echo "Nem regisztrált intézmény? A mentés titkosítása csak regisztrált intézmények számára érhető el!"
- exit 2
-fi
-
-# Backup könyvtár létrehozása
-if [ ! -e $BACKUPDIR ]; then
- mkdir $BACKUPDIR > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- echo "Nem sikerült a ${BACKUPDIR} könyvtárat létrehozni!"
- echo "MaYoR Backup failure!"
- exit 3
- fi
-fi
-CRYPTDIR=$BACKUPDIR/$DATE
-if [ ! -e $CRYPTDIR ]; then
- mkdir $CRYPTDIR
-fi
-chown $WEB_SERVER_USER $BACKUPDIR
-chmod 700 $BACKUPDIR
-
-if [ ! -f $BACKUPFILE ]; then
- # Próbáljuk meg a mai dátum szerinti backup-ot (alapértelmezés)
- echo -e " HIBA: Hiányzik a kódolandó mentési állomámny: (${BACKUPFILE})\n"
- BACKUPFILE=$BACKUPDIR/${BACKUPFILE}
- echo "Próbáljuk a mentéi könyvtáron belül: ${BACKUPFILE}"
- if [ ! -f $BACKUPFILE ]; then
- echo -e " HIBA: Hiányzik a kódolandó mentési állomámny: (${BACKUPFILE})\n"
- BACKUPFILE=$BACKUPDIR/${PREFIX}${DATE}.tgz
- echo "Próbáljuk az alapértelmezett állománynevet: ${BACKUPFILE}"
- if [ ! -e $BACKUPFILE ]; then
- echo -e " HIBA: Hiányzik a kódolandó mentési állomámny: (${BACKUPFILE})\n"
- exit 3
- fi
- fi
-fi
-BASENAME=`basename $BACKUPFILE`
-
-# Publikus kulcs lekérdezése
-echo 'SELECT publicKey FROM mayorSsl' | $MYSQL -p$PW -u$USER $DB | grep -v publicKey | sed -e 's/\\n/\n/g' > $CRYPTDIR/id_rsa.pub
-
-# Véletlen kulcs generálás a szimmetrikus AES kódoláshoz
-pwgen -nc 50 1 > $CRYPTDIR/key.txt
-
-# AES kódolás
-aespipe -P $CRYPTDIR/key.txt -e aes256 < $BACKUPFILE > $CRYPTDIR/$BASENAME.aes
-
-# A kulcsok RSA kódolása a publikus kulccsal
-openssl rsautl -encrypt -inkey $CRYPTDIR/id_rsa.pub -pubin -in $CRYPTDIR/key.txt -out $CRYPTDIR/key.rsa
-
-# Kulcsok törlése
-rm $CRYPTDIR/id_rsa.pub
-rm $CRYPTDIR/key.txt
-
-cd $BACKUPDIR
-tar cfz ${DATE}-crypt.tgz ${DATE}
-rm -rf $DATE
-
-echo -e "\nBecsomagolva: $BACKUPDIR/${DATE}-crypt.tgz\n\n"
diff --git a/mayor/bin/decrypt-backup.sh b/mayor/bin/decrypt-backup.sh
deleted file mode 100644
index 9eca4375..00000000
--- a/mayor/bin/decrypt-backup.sh
+++ /dev/null
@@ -1,138 +0,0 @@
-#!/bin/bash
-#
-# Example: mayor decrypt-backup --crypted-file=/home/backup/20110515-crypt.tgz
-# Az eredmény a $BACKUPDIR alá kerül az eredetileg elkódolt állomány nevéből
-# származtatott néven: file.kit --> file-decrypt.kit
-#
-# TODO: ellenőrizni kell még az openssl és az aespipe meglétét
-#
-
-OPT_SPEC="hf:d::"
-LONG_OPT_SPEC="help,file:,crypted-file:,dir:,backup-dir::"
-PARSED_OPTIONS=$(getopt -n "$0" -a -o $OPT_SPEC --long $LONG_OPT_SPEC -- "$@")
-OPTIONS_RET=$?
-eval set -- "$PARSED_OPTIONS"
-
-help_usage() {
-cat <<EOF
-
-Decrypt-backup használata: mayor decrypt-backup [opciók]
-
-A parancs segítségével a korábban titkosított (ld. mayor help crypt-backup) mentést
-csomagolhatjuk ki. A kicsomagoláshoz szükséges az intézmény privát kulcsa, amit a
-program alapesetben az adatbázisban keres. Ha nincs más megadva, akkor a szkript
-"YYYYmmdd-crypt.tgz" néven keresi a kicsomagolandó állományt (pl. ${DATE}-crypt.tgz)
-
-A mentési könyvtár, a szükséges jelszavak és egyéb paraméterek beállításait a
-/etc/mayor/main.conf állományban kell megadni.
-
-Opciók:
- -h, --help: A parancs leírása (amit most olvasol...)
- -f, --file, --crypted-file: A kódolt állomány neve
- -d, --dir, --backup-dir: A mentési könyvtár elérési útja
-
-EOF
-}
-
-if [ $OPTIONS_RET -ne 0 ]; then help_usage; exit; fi
-
-FILE="${DATE}-crypt.tgz"
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- --crypted-file | --file | -f ) shift
- FILE="$1"
- echo "Kódolt állomány: $FILE"
- ;;
-
- --backup-dir | --dir | -d ) shift
- BACKUPDIR="$1"
- echo "Backup könyvtár: $BACKUPDIR"
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1" # ide elvileg sose jutunk, mert a getopts már kiszűrte a hibás paraméterek
- exit
- ;;
- esac
- shift
-done
-
-
-
-
-# A mysql bináris ellenőrzése
-if [ ! -f $MYSQL ]; then
- echo -e "\n\nERROR: A mysql kliens nem található: $MYSQL\n"
- exit 1
-fi
-
-# A login adatbázis eléréséhez szükséges adatok a konfig-ból
-DB=`grep db $BASEDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
-USER=`grep user $BASEDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
-PW=`grep pw $BASEDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
-
-# Ellenőrizzük, hogy van-e privát kulcs - regisztrált intézmény-e
-COUNT=`$MYSQL -e 'SELECT count(privateKey) FROM mayorSsl' -p$PW -u$USER $DB | grep -i -v count`
-if [ "$COUNT" -ne "1" ]; then
- echo "Privát kulcsok száma: $COUNT"
- echo "Nem regisztrált intézmény? A titkosított mentések kezelése csak regisztrált intézmények számára érhető el!"
- exit 2
-fi
-
-# Backup könyvtár létrehozása
-if [ ! -e $BACKUPDIR ]; then
- mkdir $BACKUPDIR > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- echo "Nem sikerült a ${BACKUPDIR} könyvtárat létrehozni!"
- echo "MaYoR Backup failure!"
- exit 3
- fi
-fi
-chown $WEB_SERVER_USER $BACKUPDIR
-chmod 700 $BACKUPDIR
-
-# bejövő paraméterek feldolgozása (crypted-file)
-if [ ! -f $FILE ]; then
- echo -e " HIBA: Hiányzik a dekódolandó mentési állomámny: ${FILE}\n"
- FILE=$BACKUPDIR/${FILE}
- echo "Próbáljuk a mentési könyvtárban (${FILE})"
- if [ ! -f $FILE ]; then
- echo -e " HIBA: Hiányzik a dekódolandó mentési állomámny: ${FILE}\n"
- FILE=$BACKUPDIR/${PREFIX}${DATE}-crypt.tgz
- echo "Próbáljuk az alapértelmezett állományt (${FILE})"
- if [ ! -e $FILE ]; then
- echo " HIBA: Hiányzik a dekódolandó mentési állomámny: ${FILE}"
- exit 4
- fi
- fi
-fi
-BASENAME=`basename $FILE`
-
-cd $BACKUPDIR
-tar xfz $FILE
-TARFILES=`tar tf $FILE`
-SUBDIR=`for f in $TARFILES; do echo $f; break; done`
-AESFILE=`echo $TARFILES | sed -e 's/ /\n/g' | grep '.aes'`
-AESBASE=`basename $AESFILE | sed -e 's/.aes//g'`
-DECRYPTFILE=`echo $AESBASE | sed -e 's/\.\([a-z]*\)$/-decrypt\.\1/'`
-
-# A privát kulcs lekérdezése
-echo 'SELECT privateKey FROM mayorSsl' | $MYSQL -p$PW -u$USER $DB | grep -v privateKey | sed -e 's/\\n/\n/g' > $BACKUPDIR/$SUBDIR/id_rsa
-
-# AES kulcs dekódolása
-openssl rsautl -decrypt -inkey $BACKUPDIR/$SUBDIR/id_rsa -in $BACKUPDIR/$SUBDIR/key.rsa -out $BACKUPDIR/$SUBDIR/key.txt
-
-# AES dekódolás (feltételezzük, hogy az eredmény tgz
-aespipe -P $BACKUPDIR/$SUBDIR/key.txt -d -e aes256 < $BACKUPDIR/$AESFILE > $BACKUPDIR/$DECRYPTFILE
-
-# Törlés
-rm -rf $BACKUPDIR/$SUBDIR
-
-echo -e "\nKicsomagolva: $BACKUPDIR/$DECRYPTFILE\n\n"
diff --git a/mayor/bin/etc/cron.daily/mayor b/mayor/bin/etc/cron.daily/mayor
deleted file mode 100755
index 815cc023..00000000
--- a/mayor/bin/etc/cron.daily/mayor
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-# A helyes környezet beállítása (svn alapú frissítés esetén az ékezetes file-nevekhez)
-export LANG=hu_HU.UTF-8
-
-# Napló napi mentése
-/usr/local/sbin/mayor backup
-
-# Heti frissítés
-if [ `date +'%w'` == 0 ]; then
- /usr/local/sbin/mayor update
-fi
-
diff --git a/mayor/bin/help.sh b/mayor/bin/help.sh
deleted file mode 100644
index e983ccd3..00000000
--- a/mayor/bin/help.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-
-OPT_SPEC="hf::"
-LONG_OPT_SPEC="help,file:,f::"
-PARSED_OPTIONS=$(getopt -n "$0" -a -o $OPT_SPEC --long $LONG_OPT_SPEC -- "$@")
-OPTIONS_RET=$?
-eval set -- "$PARSED_OPTIONS"
-
-help_usage() {
- print_help;
- echo -e "\nHELP használata: mayor help [parancs]\n\n"
-}
-
-if [ $OPTIONS_RET -ne 0 ] || [ $# -le 1 ]; then help_usage; exit; fi
-
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- --file | -f ) shift
- FILE="$1"
- echo "FILE: $FILE"
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1" # ide elvileg sose jutunk, mert a getopts már kiszűrte a hibás paramétereket...
- exit
- ;;
- esac
- shift
-done
-
-while [ $# -ge 1 ]; do
- echo -e "\n---------- HELP: $1 ----------\n"
- if [[ ! "${CMDS[*]}" =~ .*$1.* ]]; then
- echo -e "Ismeretlen parancs: $1"
- #print_help
- else
- . ./$1.sh --help
- fi
- shift
-done
diff --git a/mayor/bin/lock.sh b/mayor/bin/lock.sh
deleted file mode 100644
index ca275705..00000000
--- a/mayor/bin/lock.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-
-help_usage() {
-cat <<EOF
-
-LOCK használata: mayor lock [options]
-
-A parancs segítségével zárolhatjuk a MaYoR rendszert, ilyenkor a webes elérés le van tiltva.
-Hasznos lehet különböző Rendszergazdai műveletek elvégzésekor.
-
- --help: ^Ez a help szöveg.
-
-EOF
-}
-
-if [ $? -ne 0 ]; then help_usage; exit; fi
-
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1"
- exit
- ;;
- esac
- shift
-done
-
-if [ ! -z $LOCKFILE ]; then
- if [ $VERBOSE -gt 0 ]; then echo -e "* A web-es elérés letiltása:"; fi
- if [ $VERBOSE -gt 1 ]; then echo -e "- Lock-file létrehozása... "; fi
-
- echo "$DATE: Rendszergazda dolgozik" > $LOCKFILE
- if [ $VERBOSE -gt 0 ]; then echo -e "kész.\n"; fi
-fi
-
diff --git a/mayor/bin/mayor b/mayor/bin/mayor
deleted file mode 100755
index 09168cc0..00000000
--- a/mayor/bin/mayor
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/bash
-
-VERSION="2.0"
-echo -e "\nmayor szkript - verzió: $VERSION (" $(date '+%Y-%m-%d') ")"
-
-CMDS=(backup update lock unlock crypt-backup decrypt-backup remote-backup restore help)
-MODS=(mayor-base mayor-portal mayor-naplo mayor-naplo-sni mayor-wiki mayor-felveteli mayor-installer mayor-installer-sulix mayor-jatek mayor-locales-de_DE mayor-locales-en_US mayor-local-jp_JP)
-DESC=('a rendszer mentése' 'a rendszer frissítése' 'a rendszer zárolása (lockfile)' 'a rendszer feloldása' 'a mentés titkosítása (ß)' 'a titkosított mentés visszakódolása (ß)' 'mentés a központi (távoli) szerverre' 'mentés visszatöltése' 'A parancs működésének leírása')
-#OPTS=('--skip-lock')
-#OPTDESC=('a rendszer zárolásának kihagyása')
-DATE=$(date "+%Y%m%d")
-DATETIME=$(date "+%Y-%m-%d %H:%M:%S")
-
-print_help() {
- echo -e "\nHasználat: mayor [parancs] [opciók]\n\nParancs"
- for ((i=0; i<${#CMDS[@]}; i=i+1)); do
- len=$(echo ${CMDS[$i]} | wc -m)
- if [ "$len" -lt 13 ]; then
- echo -e " - ${CMDS[$i]}:\t\t${DESC[$i]}"
- else
- echo -e " - ${CMDS[$i]}:\t${DESC[$i]}"
- fi
- done
-# echo -e "\nOpciók"
-# for ((i=0; i<${#OPTS[@]}; i=i+1)); do
-# echo " ${OPTS[$i]}: ${OPTDESC[$i]}"
-# done
- echo ""
-}
-
-# Ellenőrizzük, hogy van-e configurációs állomány
-if [ -f /etc/mayor/main.conf ]; then
- . /etc/mayor/main.conf
-else
- echo -e "\n*** HIBA: hiányzó konfigurációs file: /etc/mayor/main.conf\n"
- exit 1
-fi
-
-# Ha nincs paraméter, akkor írjuk ki a tennivalót
-if [ -z $1 ]; then
- print_help
- exit 1
-fi
-
-# A paraméter ellenőrzése
-for ((i=0; i<${#CMDS[@]}; i=i+1)); do
- if [ ${CMDS[$i]} == "$1" ]; then
- CMD=${CMDS[$i]}
- break
- fi
-done
-
-if [ -z $CMD ]; then
- echo -e "\n(>>> HIBA: ismeretlen parancs: $1)\n"
- print_help
- exit 1
-else
- echo -e "(>>> $CMD)\n"
-fi
-
-# Alapértelmezés
-if [ "$MYSQL_HOST" == "" ]; then
- MYSQL_HOST="localhost"
-fi
-
-shift
-# A parancs végrehajtása
-cd $BASEDIR/bin
-if [ -z $UPDATELOG ]; then
- . ./$CMD.sh
-else
- . ./$CMD.sh 2>&1 | tee -a $UPDATELOG
-fi
-
diff --git a/mayor/bin/remote-backup.sh b/mayor/bin/remote-backup.sh
deleted file mode 100644
index 71e241d5..00000000
--- a/mayor/bin/remote-backup.sh
+++ /dev/null
@@ -1,170 +0,0 @@
-#!/bin/bash
-#
-# Example: mayor remote-backup --backup-file=/tmp/wiki.tgz
-# Az eredmény a $BACKUPDIR/$DATE-crypt.tgz állományba kerül
-# (Vagy jobb lenne, ha a file nevéből venné a nevét?)
-#
-# TODO: ellenőrizni kell még, hogy van-e openssl és aespipe
-#
-
-OPT_SPEC="hf:d::"
-LONG_OPT_SPEC="help,file:,backup-file:,dir:,backup-dir::"
-PARSED_OPTIONS=$(getopt -n "$0" -a -o $OPT_SPEC --long $LONG_OPT_SPEC -- "$@")
-OPTIONS_RET=$?
-eval set -- "$PARSED_OPTIONS"
-
-help_usage() {
-cat <<EOF
-
-Remote-backup használata: mayor remote-backup [opciók]
-
-A parancs segítségével menthetjük egy központi szerverre a MaYoR rendszer adatbázisait,
-aktuális forrását és beállításait titkosított formában. A távoli szerverre való bejele-
-lentkezéshez szükséges az intézmény privát kulcsa, amit a program alapesetben az adat-
-bázisban keres.
-A szkript, ha nincs más megadva, akkor az aktuális dátumnak megelelő,
-"YYYYmmdd-crypt.tgz" alkú néven keresi a feltöltendő mentési állományt.
-
-A mentési könyvtár, a szükséges jelszavak és egyéb mentési paraméterek beállításait a
-/etc/mayor/main.conf állományban kell megadni.
-
-Opciók:
- -h, --help: A parancs leírása (amit most olvasol...)
- -f, --file, --backup-file: A mentési állomány neve
- -d, --dir, --backup-dir: A mentési könyvtár elérési útja
-
-EOF
-}
-
-if [ $OPTIONS_RET -ne 0 ]; then help_usage; exit; fi
-
-FILE="${DATE}-crypt.tgz"
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- --backup-file | --file | -f ) shift
- FILE="$1"
- echo "Backup fájl: $FILE"
- ;;
-
- --backup-dir | --dir | -d ) shift
- BACKUPDIR="$1"
- echo "Backup könyvtár: $BACKUPDIR"
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1" # ide elvileg sose jutunk, mert a getopts már kiszűrte a hibás paraméterek
- exit
- ;;
- esac
- shift
-done
-
-
-
-SSH_PORT="8023"
-SSH_HOST="backup.mayor.hu"
-
-# mysql bináris ellenőrzése
-if [ ! -f $MYSQL ]; then
- echo -e "\n\nERROR: A mysql kliens nem található: $MYSQL\n"
- exit 1
-fi
-
-# Login adatbázis eléréséhez szükséges paraméterek lekérdezése a konfig-ból...
-DB=`grep db $BASEDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
-USER=`grep user $BASEDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g" | sed 's/^ *//g'`
-PW=`grep pw $BASEDIR/config/main-config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g" | sed 's/^ *//g'`
-
-# Ellenőrizzük, hogy van-e publikus kulcs - regisztrált intézmény-e
-COUNT=`$MYSQL -e 'SELECT count(publicKey) FROM mayorSsl' -p$PW -u$USER $DB | grep -i -v count`
-if [ "$COUNT" -ne "1" ]; then
- echo "Publikus kulcsok száma: $COUNT"
- echo "Nem regisztrált intézmény? A mentés titkosítása csak regisztrált intézmények számára érhető el!"
- exit 2
-fi
-
-# Backup könyvtár létrehozása
-if [ ! -e $BACKUPDIR ]; then
- mkdir $BACKUPDIR > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- echo "Nem sikerült a ${BACKUPDIR} könyvtárat létrehozni!"
- echo "MaYoR Backup failure!"
- exit 3
- fi
-fi
-CRYPTDIR=$BACKUPDIR/$DATE
-if [ ! -e $CRYPTDIR ]; then
- mkdir $CRYPTDIR
-fi
-chown $WEB_SERVER_USER $BACKUPDIR
-chmod 700 $BACKUPDIR
-
-if [ ! -f $FILE ]; then
- echo -e " HIBA: Hiányzik a kódolandó mentési állomámny: ${FILE}"
- FILE=$BACKUPDIR/${FILE}
- echo "Próbáljuk a mentési könyvtárban! (${FILE})"
- if [ ! -f $FILE ]; then
- echo -e " HIBA: Hiányzik a kódolandó mentési állomámny: ${FILE}"
- FILE=$BACKUPDIR/${PREFIX}${DATE}.tgz
- echo "Próbáljuk az alapértelmezett állományt! (${FILE})"
- if [ ! -e $FILE ]; then
- echo -e " HIBA: Hiányzik a kódolandó mentési állomámny: ${FILE}"
- exit 3
- fi
- fi
-fi
-BASENAME=`basename $FILE`
-
-# Publikus kulcs lekérdezése
-echo 'SELECT publicKey FROM mayorSsl' | $MYSQL -p$PW -u$USER $DB | grep -v publicKey | sed -e 's/\\n/\n/g' > $CRYPTDIR/id_rsa.pub
-
-# Véletlen kulcs generálás a szimmetrikus AES kódoláshoz
-pwgen -nc 50 1 > $CRYPTDIR/key.txt
-
-# AES kódolás
-aespipe -P $CRYPTDIR/key.txt -e aes256 < $FILE > $CRYPTDIR/$BASENAME.aes
-
-# A kulcsok RSA kódolása a publikus kulccsal
-openssl rsautl -encrypt -inkey $CRYPTDIR/id_rsa.pub -pubin -in $CRYPTDIR/key.txt -out $CRYPTDIR/key.rsa
-
-# Kulcsok törlése
-rm $CRYPTDIR/id_rsa.pub
-rm $CRYPTDIR/key.txt
-
-cd $BACKUPDIR
-tar cfz ${DATE}-crypt.tgz ${DATE}
-rm -rf $DATE
-
-echo -e "\nBecsomagolva: $BACKUPDIR/${DATE}-crypt.tgz\n\n"
-
-# A privát kulcs lekérdezése, elhelyezése
-if [ ! -d $BASEDIR/ssh ]; then
- echo "Létrehozzuk a $BASEDIR/ssh könyvtárat, amibe belerakjuk a privát kulcsot..."
- mkdir $BASEDIR/ssh
- chmod 700 $BASEDIR/ssh
-fi
-if [ ! -f $BASEDIR/ssh/id_rsa ]; then
- echo 'SELECT privateKey FROM mayorSsl' | $MYSQL -p$PW -u$USER $DB | grep -v privateKey | sed -e 's/\\n/\n/g' > $BASEDIR/ssh/id_rsa
- chmod 700 $BASEDIR/ssh/id_rsa
-fi
-
-# Az intézmény OM kódjának lekérdezése
-
-# A mayor_naplo adatbázis eléréséhez szükséges paraméterek lekérdezése a konfig-ból...
-DB=`grep db $BASEDIR/config/module-naplo/config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g"`
-USER=`grep userRead $BASEDIR/config/module-naplo/config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g" | sed 's/^ *//g'`
-PW=`grep pwRead $BASEDIR/config/module-naplo/config.php | sed -e "s/$.*=\ *['|\"]//g" -e "s/['|\"];//g" | sed 's/^ *//g'`
-
-OMKOD=`echo 'SELECT SUBSTR(OMKod,-6) FROM intezmeny WHERE alapertelmezett = 1' | $MYSQL -p$PW -u$USER $DB | grep -v OMKod`
-SSH_USER="om$OMKOD"
-echo $SSH_USER
-
-# A kódolt adatállomány másolása
-scp -i $BASEDIR/ssh/id_rsa -P $SSH_PORT $BACKUPDIR/${DATE}-crypt.tgz $SSH_USER@$SSH_HOST:/home/$SSH_USER/
diff --git a/mayor/bin/restore.sh b/mayor/bin/restore.sh
deleted file mode 100644
index 7a1195ed..00000000
--- a/mayor/bin/restore.sh
+++ /dev/null
@@ -1,257 +0,0 @@
-#!/bin/bash
-
-OPT_SPEC="hkprf:d:t::"
-LONG_OPT_SPEC="help,keep-old-passwords,restore-parent,restore-private,tmp-dir:,file:,backup-file:,dir:,base-dir::"
-PARSED_OPTIONS=$(getopt -n "$0" -a -o $OPT_SPEC --long $LONG_OPT_SPEC -- "$@")
-OPTIONS_RET=$?
-eval set -- "$PARSED_OPTIONS"
-
-help_usage() {
-cat <<EOF
-
-Restore használata: mayor restore [opciók]
-
-A parancs segítségével korábbi mentésből állíthatjuk helyre a napló adaokat. A helyreállítás előtt
-telepíteni kell egy új, lehetőleg a mentettel megegyező, vagy újabb verziójú rendszert, amibe a régi
-adatokat betöltjük.
-A mentést alapértelmezetten az aktuális dátum alapján keresi, "YYYYmmdd.tgz" alakban (pl. $DATE.tgz).
-
-Amennyiben a paraméterként megadott alapkönyvtárban léteznek a configurációs állományok, úgy a program
-ezeket használja, különben a mentésből állítja őket helyre. A jelszavak alapértelmezetten mindig az
-új telepítés szerintiek maradnak.
-
-Opciók:
- -h, --help: A parancs leírása (amit most olvasol...)
- -f, --file, --backup-file: A visszatöltendő mentési állomány neve
- -d, --dir, --base-dir: Az alapkönyvtár elérési útja
- -t, --tmp-dir: Az ideiglenes könyvtár
- -k, --keep-old-passwords: A mentett adatbázis-jelszavak megtartása akkor is, ha léteznek újak
- -p, --restore-parent: A szülők felhasználói azonosítóinak helyreállítása
- -r, --restore-private: A tanár/diák felhasználói azonosítóinak helyreállítása (csak MySQL-ből!)
-
-EOF
-}
-
-cleartmp() {
- echo -e -n "\n\nAz ideiglenes könyvátrat töröljük: ${RTMPDIR}/restore/${DT}..."
- rm -rf ${RTMPDIR}/restore/${DT}
- echo "ok"
-}
-
-#if [ $OPTIONS_RET -ne 0 ] || [ $# -le 1 ]; then help_usage; exit; fi
-if [ $OPTIONS_RET -ne 0 ]; then help_usage; exit; fi
-
-# Alapéretelmezett értékek:
-RBACKUPFILE="${DATE}.tgz"
-RBASEDIR="/var/mayor"
-KEEP_OLD_PASSWORDS=0
-
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- --keep-old-passwords | -k ) KEEP_OLD_PASSWORDS=1
- echo "A mentett adatbázis-jelszavak használata..."
- ;;
-
- --restore-parent | -p ) RESTORE_PARENT=1
- echo "Szülői azonosítók betöltése..."
- ;;
-
- --restore-private | -r ) RESTORE_PRIVATE=1
- echo "Tanár/diák azonosítók betöltése..."
- ;;
-
- --backup-file | --file | -f ) shift
- RBACKUPFILE="$1"
- echo "Backup fájl: $RBACKUPFILE"
- ;;
-
- --base-dir | --dir | -d ) shift
- RBASEDIR="$1"
- echo "Alapkönyvtár: $RBASEDIR"
- ;;
-
- --tmp-dir | -t ) shift
- RTMPDIR="$1"
- echo "Ideiglenes könyvtár: $RTMPDIR"
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1" # ide elvileg sose jutunk, mert a getopts már kiszűrte a hibás paramétereket...
- exit
- ;;
- esac
- shift
-done
-
-##
-# A könyvtárak létrehozása
-##
-
-RREVISIONFILE="${RBASEDIR}/log/revision"
-declare -i INST_REV
-if [ ! -e "${RREVISIONFILE}" ]; then
- echo "Hiba: A megadott alapkönyvtárban (${RBASEDIR}) nem található telepített MaYoR rendszer!"
- echo -e " A helyreállításhoz először telepíteni kell egy azonos, vagy újabb verziójú rendszert.\n"
- exit 1
-fi
-INST_REV=$(cat $RREVISIONFILE)
-echo "A telepített rendszer revision száma: ${INST_REV}"
-
-if [ ! -e "${RBACKUPFILE}" ]; then
- echo "Hiba: A backup állomány nem található (${RBACKUPFILE})"
- echo -e " A backup állományt teljes elérési úttal kell megadni!\n"
- exit 2
-fi
-
-[ -z "${RTMPDIR:-}" ] && RTMPDIR="/tmp"
-if [ ! -e "${RTMPDIR}" ]; then
- echo "Az ideiglenes könyvtár (${RTMPDIR}) nem létezik."
- echo -n "Létrehozás ... "
- if mkdir -p "${RTMPDIR}" 2>/dev/null; then
- echo "ok."
- else
- echo "hiba."
- exit 3
- fi
-fi
-
-if [ ! -d "${RTMPDIR}/restore" ]; then
- if ! mkdir "${RTMPDIR}/restore" 2>/dev/null; then
- echo "Hiba: Az ideiglenes könyvtár nem írható (${RTMPDIR})!"
- exit 4
- fi
-fi
-chmod 700 "${RTMPDIR}/restore"
-cd "${RTMPDIR}/restore"
-tar xvfz $RBACKUPFILE
-DT=$(ls)
-echo "A mentés dátuma: ${DT}"
-cd ${DT}
-
-RREVISIONFILE="${RTMPDIR}/restore/${DT}/log/revision"
-declare -i BAK_REV
-if [ ! -e "${RREVISIONFILE}" ]; then
- echo "Hiba: A mentési állomány nem tartalmaz verzió információt!"
- echo -e " A mentési állományon belül, a ${DT}/log/revision állományba írja be a revision számot (pl: 2512)!\n"
- cleartmp
- exit 5
-fi
-BAK_REV=$(cat $RREVISIONFILE)
-echo "A mentett rendszer revision száma: ${BAK_REV}"
-
-if [ ${BAK_REV} -gt ${INST_REV} ]; then
- echo "Hiba: A mentett rendszer újabb, mint a telepített!"
- echo -e " A telepített rendszer revision száma nagyobb vagy egyenlő kell legyen a mentett rendszer revision számánál!\n Telepítsen frissíebb rendszert!\n"
- cleartmp
- exit 6
-fi
-
-# A telepített rendszer beállításainsak betöltése
-if [ -f "${RBASEDIR}/config/main.conf" ]; then
- . "${RBASEDIR}/config/main.conf"
-else
- echo "Hiba: A telepített rendszer nincs beállítva!"
- echo -e " Hiányzik a konfigurációs állomány: ${RBASEDIR}/config/main.conf\n"
- cleartmp
- exit 7
-fi
-
-# Az adatbázisok betöltése
-NAPLOUSER=$(egrep 'userWrite.*=' $BASEDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
-NAPLOUSERREAD=$(egrep 'userRead.*=' $BASEDIR/config/module-naplo/config.php | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
-DBS=$($MYSQL -h$MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PW -e"SHOW DATABASES")
-if [ "$RESTORE_PARENT" == "1" ]; then
- FILES="mayor_naplo.sql mayor_parent.sql intezmeny_*.sql naplo_*.sql"
-else
- FILES="mayor_naplo.sql intezmeny_*.sql naplo_*.sql"
-fi
-if [ "$RESTORE_PRIVATE" == "1" ]; then
- FILES="$FILES mayor_private.sql"
-fi
-for SQLFILE in $FILES; do
- if [ -e "${SQLFILE}" ]; then
- DB=${SQLFILE%.sql}
- echo -n "${DB} ... "
- if [[ ! ${DBS} =~ .*$DB.* ]]; then
- echo -n "... "
- (cat <<EOF
- create database ${DB} character set utf8 collate utf8_hungarian_ci;
- grant select,execute on ${DB}.* to '$NAPLOUSERREAD'@'localhost';
- grant all on ${DB}.* to '$NAPLOUSER'@'localhost';
-EOF
-) | $MYSQL -h$MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PW
- fi
- echo -n '... '
- cat ${SQLFILE} | mysql -p${MYSQL_PW} --user=${MYSQL_USER} --default-character-set=utf8 ${DB}
- echo ok
- fi
-done
-
-# A mentésben szereplő user és jelszó adatok
-bNCDIR="${RTMPDIR}/restore/${DT}/config/module-naplo"
-iNCDIR="${BASEDIR}/config/module-naplo"
-cd ${bNCDIR}
-bDB=$(grep db ${bNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
-bUSER=$(egrep 'userWrite.*=' ${bNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
-bUSERREAD=$(egrep 'userRead.*=' ${bNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
-bPW=$(egrep 'pwWrite.*=' ${bNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
-bPWREAD=$(egrep 'pwRead.*=' ${bNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
-#echo "mentett: $bDB : $bUSER : $bUSERREAD : $bPW : $bPWREAD"
-# Az új telepítés user és jelszó adatai
-if [ -e "${iNCDIR}/config.php" ] && [ "${KEEP_OLD_PASSWORDS}" != "1" ]; then
- iDB=$(grep db ${iNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | grep naplo_base | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
- iUSER=$(egrep 'userWrite.*=' ${iNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
- iUSERREAD=$(egrep 'userRead.*=' ${iNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
- iPW=$(egrep 'pwWrite.*=' ${iNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
- iPWREAD=$(egrep 'pwRead.*=' ${iNCDIR}/config.php | egrep -v '^[[:space:]]*(//|/\*.*\*/$)' | sed -e "s/^.*=\ *['|\"]//g" -e "s/['|\"];//g")
-else
- iDB=$bDB
- iUSER=$bUSER
- iUSERREAD=$bUSERREAD
- iPW=$bPW
- iPWREAD=$bPWREAD
-fi
-#echo "installált: $iDB : $iUSER : $iUSERREAD : $iPW : $iPWREAD"
-if [ -e "${iNCDIR}/config.php" ]; then
- if [ ! -e "${iNCDIR}/config.php.backup" ]; then
- echo "${iNCDIR}/config.php --> ${iNCDIR}/config.php.backup"
- mv "${iNCDIR}/config.php" "${iNCDIR}/config.php.backup"
- fi
-fi
-
-cat "${bNCDIR}/config.php" | sed \
- -e "s/db\(.*\)$bDB\(.*\)/db\1$iDB\2/g" \
- -e "s/userWrite\(.*\)$bUSER\(.*\)/userWrite\1$iUSER\2/g" \
- -e "s/userRead\(.*\)$bUSERREAD\(.*\)/userRead\1$iUSERREAD\2/g" \
- -e "s/$bPW/$iPW/g" -e "s/$bPWREAD/$iPWREAD/g" > "${iNCDIR}/config.php"
-
-for FILE in config-*.php; do
- echo -n "$FILE ... "
- # mentés
- if [ -e "${iNCDIR}/$FILE" ]; then
- if [ ! -e "${iNCDIR}/$FILE.backup" ]; then
- echo -n "... "
- mv "${iNCDIR}/$FILE" "${iNCDIR}/$FILE.backup"
- fi
- fi
- cp $FILE "${iNCDIR}/$FILE"
- echo ok
-done
-
-cd ${BASEDIR}/bin
-if [ -z $UPDATELOG ]; then
- . update.sh -e -r$BAK_REV -b${BASEDIR}
-else
- . update.sh -e -r$BAK_REV -b${BASEDIR} 2>&1 | tee -a $UPDATELOG
-fi
-
-# Az ideiglenes könyvtár törlése
-cleartmp
-
diff --git a/mayor/bin/sbin/eNaploBackup.sh b/mayor/bin/sbin/eNaploBackup.sh
deleted file mode 100755
index 5bdba177..00000000
--- a/mayor/bin/sbin/eNaploBackup.sh
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/sh
-##
-# Az elektronikus mentése (Version 1.0)
-##
-
- DATE=`date +%Y%m%d`
- NAPLO_BACKUP_BASE_DIR='/backup/naplo'
- NAPLO_BACKUP_DIR="$NAPLO_BACKUP_BASE_DIR/$DATE"
-
- DATABASES='mayor_parent mayor_private mayor_naplo intezmeny_fasori naplo_fasori_2007'
- #MYSQL_DB='%MYSQL_NAPLO_DB%'
- MYSQL_USER='%MYSQL_NAPLO_USER%'
- MYSQL_PW='%MYSQL_NAPLO_PW%'
-
- WWW_SSL_DIR='%BASEDIR%'
- WEB_SERVER_USER='%WEB_SERVER_USER%'
- EXPIRE_DATE=`date -d '30 days ago' +%Y%m%d`
-
- BASEDN='%BASEDN%'
- LDAP_CONF_DIR='%LDAP_CONF_DIR%'
- LDAP_DB_DIR='%LDAP_DB_DIR%'
-
-##
-# A könyvtárak létrehozása
-##
- if [ ! -e $NAPLO_BACKUP_BASE_DIR ]; then
- /bin/mkdir $NAPLO_BACKUP_BASE_DIR
- fi
- /bin/chown $WEB_SERVER_USER $NAPLO_BACKUP_BASE_DIR
- /bin/chmod 700 $NAPLO_BACKUP_BASE_DIR
-
- if [ -e $NAPLO_BACKUP_DIR.tgz ]; then
- exit 1
- fi
- /bin/mkdir $NAPLO_BACKUP_DIR
- /bin/chown $WEB_SERVER_USER $NAPLO_BACKUP_DIR
- /bin/chmod 700 $NAPLO_BACKUP_DIR
-
-##
-# mysql adatbázis mentése
-##
-
-for DATABASE in $DATABASES; do
- /usr/bin/mysqldump -p$MYSQL_PW -u$MYSQL_USER $DATABASE >> $NAPLO_BACKUP_DIR/$DATABASE.sql
-done
-
-##
-# mysql adatbázis mentése
-##
-
-# /usr/bin/mysqldump -p$MYSQL_PW -u$MYSQL_USER $MYSQL_DB >> $NAPLO_BACKUP_DIR/$MYSQL_DB.sql
-
-##
-# A honlap mentése
-##
-
- mkdir $NAPLO_BACKUP_DIR/html
-
- /bin/cp -a $WWW_SSL_DIR/* $NAPLO_BACKUP_DIR/html/
-
-##
-# Az LDAP adatbázis
-##
-
- /etc/init.d/slapd stop
- /bin/sleep 1
-
- /usr/sbin/slapcat -b $BASEDN -l $NAPLO_BACKUP_DIR/ldap.ldif
-
- /bin/cp -a $LDAP_DB_DIR $NAPLO_BACKUP_DIR/ldap
-
- /etc/init.d/slapd start
-
-##
-# LDAP konfig file-ok mentése (schema)
-##
-
- /bin/mkdir $NAPLO_BACKUP_DIR/etc
- /bin/cp -a $LDAP_CONF_DIR $NAPLO_BACKUP_DIR/etc/
-
-##
-# Becsomagolás
-##
-
- cd $NAPLO_BACKUP_BASE_DIR
- /bin/tar cfz $DATE.tgz $DATE
- /bin/rm -rf $NAPLO_BACKUP_DIR
-
-##
-# Elavult mentés tölése
-##
-
- if [ -e $NAPLO_BACKUP_BASE_DIR/$EXPIRE_DATE.tgz ]; then
- rm -rf $NAPLO_BACKUP_BASE_DIR/$EXPIRE_DATE.tgz
- fi
diff --git a/mayor/bin/sbin/eNaploRestore.sh b/mayor/bin/sbin/eNaploRestore.sh
deleted file mode 100755
index f383360f..00000000
--- a/mayor/bin/sbin/eNaploRestore.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/sh
-##
-# Az elektronikus visszatöltése (Version 1.0)
-##
-
- NAPLO_BACKUP_BASE_DIR='/backup/naplo'
- NAPLO_BACKUP_TMP_DIR="$NAPLO_BACKUP_BASE_DIR/tmp"
-
- DATABASE='%MYSQL_NAPLO_DB%'
- MYSQL_PW='%MYSQL_ROOT_PW%'
- MYSQL_USER='root'
-
- WWW_DIR='%BASEDIR%'
- WEB_SERVER_USER='%WEB_SERVER_USER%'
- BASEDN='%BASEDN%'
- DUMP_FILE="$DATABASE.sql"
- LDIF_FILE='ldap.ldif'
- LDAP_DB_DIR='%LDAP_DB_DIR%/mayor'
-
-##
-# A paraméter ellenőrzése
-##
-
- if [ -z $1 ]; then
- exit 1
- else
- if [ -e $NAPLO_BACKUP_BASE_DIR/$1 ]; then
- FILE=$1
- DATE=`echo $FILE | cut -d . -f 1`
- else
- exit 2
- fi
- fi
-
-echo "PARAMÉTER: $1"
-
-##
-# TMP Könyvtár ellenőrzése, létrehozása
-##
-
- if [ ! -e $NAPLO_BACKUP_TMP_DIR ]; then
- /bin/mkdir $NAPLO_BACKUP_TMP_DIR
- fi
- /bin/chown $WEB_SERVER_USER $NAPLO_BACKUP_TMP_DIR
- /bin/chmod 700 $NAPLO_BACKUP_TMP_DIR
-
-##
-# Adatfile kicsomagolása
-##
-
- cd $NAPLO_BACKUP_TMP_DIR
- /bin/tar xfz $NAPLO_BACKUP_BASE_DIR/$FILE
- if [ ! -e $NAPLO_BACKUP_TMP_DIR/$DATE/$DUMP_FILE ]; then
- exit 3
- fi
- if [ ! -e $NAPLO_BACKUP_TMP_DIR/$DATE/$LDIF_FILE ]; then
- exit 4
- fi
-
-##
-# Az LDAP adatbázis visszatöltése/felülírása
-##
-
- /etc/init.d/slapd stop
- /bin/sleep 1
-
- /bin/rm -rf $LDAP_DB_DIR/*
- /usr/sbin/slapadd -c -b $BASEDN -l $NAPLO_BACKUP_TMP_DIR/$DATE/$LDIF_FILE
-
- /etc/init.d/slapd start
-
-##
-# mysql adatbázis visszatöltése
-##
-
-(cat <<EOF
-DROP DATABASE IF EXISTS $DATABASE;
-CREATE DATABASE $DATABASE;
-EOF
-) | mysql -u$MYSQL_USER -p$MYSQL_PW
-
-cat $NAPLO_BACKUP_TMP_DIR/$DATE/$DUMP_FILE | mysql -u$MYSQL_USER -p$MYSQL_PW $DATABASE
diff --git a/mayor/bin/sbin/update.sh b/mayor/bin/sbin/update.sh
deleted file mode 100644
index 53735e6d..00000000
--- a/mayor/bin/sbin/update.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-DIR=/var/mayor
-REV="$DIR/www/include/config/rev.php"
-PARENT="haladasi/haladasi haladasi/stat osztalyozo/diak osztalyozo/jegy osztalyozo/dolgozat bejegyzesek/bejegyzesek tanev/fogadoOra tanev/helyettesites tanev/munkaterv tanev/orarend intezmeny/valtas hianyzas/diak hianyzas/nap hianyzas/info uzeno/uzeno ertekeles/ertekeles hirnok/hirnok hirnok/hirnokFeliratkozas"
-PUBLIC="tanev/orarend tanev/szabadTerem tanev/helyettesites"
-WRITABLE="download/private/export download/private/osztalyozo download/private/nyomtatas/osztalyozo download/private/nyomtatas/haladasi"
-
-svn --force export https://blyck.vmg.sulinet.hu/svn/trunk/mayor-base/www /var/mayor/www/
-# svn --force export https://blyck.vmg.sulinet.hu/svn/trunk/mayor-keptar/www /var/mayor/www/
-# svn --force export https://blyck.vmg.sulinet.hu/svn/trunk/mayor-honosito/www /var/mayor/www/
-# svn --force export https://blyck.vmg.sulinet.hu/svn/trunk/mayor-portal/www /var/mayor/www/
-svn --force export https://blyck.vmg.sulinet.hu/svn/trunk/mayor-naplo/install/module-naplo/mysql /var/mayor/install/module-naplo/mysql
-svn --force export http://blyck.vmg.sulinet.hu/svn/trunk/mayor-base/print /var/mayor/print
-svn --force export http://blyck.vmg.sulinet.hu/svn/trunk/mayor-naplo/print /var/mayor/print
-svn --force export http://blyck.vmg.sulinet.hu/svn/trunk/mayor-naplo/print /var/mayor/download
-chown -R www-data.www-data /var/mayor/download
-svn --force export http://blyck.vmg.sulinet.hu/svn/trunk/mayor-base/data/base /var/mayor/data/base
-svn --force export https://blyck.vmg.sulinet.hu/svn/trunk/mayor-naplo/www /var/mayor/www/ | grep revision | cut -d ' ' -f 3 | uniq > $REV
-
-for f in $PARENT; do
- ln -s $DIR/www/policy/private/naplo/$f-pre.php $DIR/www/policy/parent/naplo/$f-pre.php
- ln -s $DIR/www/policy/private/naplo/$f.php $DIR/www/policy/parent/naplo/$f.php
-done
-
-for f in $PUBLIC; do
- ln -s $DIR/www/policy/private/naplo/$f-pre.php $DIR/www/policy/public/naplo/$f-pre.php
- ln -s $DIR/www/policy/private/naplo/$f.php $DIR/www/policy/public/naplo/$f.php
-done
-
-for f in $WRITABLE; do
- chmod a+rwx $DIR/$f
-done
diff --git a/mayor/bin/tex2pdf.sh b/mayor/bin/tex2pdf.sh
deleted file mode 100644
index ee177b11..00000000
--- a/mayor/bin/tex2pdf.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-#
-# A script segítségével tesztelhetjük, hogy mi történik, mikor a program a haladásinaplót, illetve osztályozónaplót generálja...
-#
-# Paraméter: a feldolgozandó UTF-8 kódolású TeX állomány "-u8.tex" végződés nélküli neve.
-#
-
-. /etc/mayor/main.conf
-
-HOME="/tmp"
-export HOME
-
-# Make sure this exists
-# cd $BASEDIR/print/module-naplo/tex/
-# fmtutil-sys --cnffile $BASEDIR/print/module-naplo/tex/mayor.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor
-
-cat $1-u8.tex | recode u8..T1 > $1.tex
-
-tex -fmt $BASEDIR/print/module-naplo/tex/mayor $1.tex
-
-dvips $1.dvi
-
-ps2pdf -sPAPERSIZE=a4 -dAutoRotatePages=/None $1.ps
-
diff --git a/mayor/bin/unlock.sh b/mayor/bin/unlock.sh
deleted file mode 100644
index 98783f4b..00000000
--- a/mayor/bin/unlock.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-help_usage() {
-cat <<EOF
-
-LOCK használata: mayor lock [options]
-
-A parancs segítségével feloldhatjuk a MaYoR rendszert, ilyenkor a webes engedélyezésre kerül.
-Hasznos lehet különböző Rendszergazdai műveletek elvégzésekor.
-
-*** FIGYELEM! ***
- Veszélyes lehet, ha a feloldás, a frissítés, vagy a mentés vége előtt történik!!
-
- --help: ^Ez a help szöveg.
-
-EOF
-}
-
-if [ $? -ne 0 ]; then help_usage; exit; fi
-
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1"
- exit
- ;;
- esac
- shift
-done
-
-if [ -e $LOCKFILE ]; then
- if [ ! -z $LOCKFILE ]; then
- if [ $VERBOSE -gt 0 ]; then echo -e "* A web-es hozzáférés engedélyezése:"; fi
- if [ $VERBOSE -gt 1 ]; then echo -e "- A Lock-file törlése..."; fi
-
- rm $LOCKFILE
- if [ $VERBOSE -gt 0 ]; then echo -e "kész.\n"; fi
- fi
-else
- if [ $VERBOSE -gt 0 ]; then echo -e "* Már engedélyezett.\n"; fi
-fi
-
diff --git a/mayor/bin/update.sh b/mayor/bin/update.sh
deleted file mode 100644
index 19585df2..00000000
--- a/mayor/bin/update.sh
+++ /dev/null
@@ -1,227 +0,0 @@
-#!/bin/bash
-
-OPT_SPEC="hes:lb:r::"
-LONG_OPT_SPEC="http-server:,skip-lock,basedir:,backup-dir:,from-revision:,exec-only,help:"
-PARSED_OPTIONS=$(getopt -n "$0" -a -o $OPT_SPEC --long $LONG_OPT_SPEC -- "$@")
-OPTIONS_RET=$?
-
-eval set -- "$PARSED_OPTIONS"
-
-help_usage() {
-cat <<EOF
-
-UPDATE használata: mayor update [opciók] [modulok]
-
-A parancs segítségével frissíthetjük a MaYoR rendszert, a program forrását és
-az adatbázis-szerkezetet. A frissítések letöltése és kicsomagolása mellett
-a szkript egyéb módosításokat is végrehajthat, ezért alapértelmezett működés
-esetén a frissítés idejére letiltjuk a napló elérését. A zárolás a
-/var/run/mayor.lock állomány létrehozásával történik.
-
-A HTTP szervert, a frissítendő modulokat, a szükséges jelszavak és egyéb beál-
-lításokat a /etc/mayor/main.conf állományban kell megadni.
-
-Opciók:
- -h, --help: A parancs leírása (amit most olvasol...)
- -s, --http-server: A szerver ahonnan a frissítéseket letöltjük
- -b, --basedir: A telepítési könyvtár
- -l, --skip-lock: A frissítés idejére se zároljuk a program működését
- -r, --from-revision: A frissítés indítása a megadott revision számtól - függetlenül a
- jelenleg eltárolt aktuális számtól
- -e, --exec-only: A frissítő szkriptek futtatása új állományok letöltése nélkül.
- Csak a --from-revision opcióval együtt használható!
-
-Modulok:
- A frissítendő modulok listája, pl: mayor-base mayor-naplo mayor-portal
-
-EOF
-}
-
-if [ $OPTIONS_RET -ne 0 ]; then help_usage; exit; fi
-
-declare -i REV
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- --skip-lock | -l ) SKIPLOCK=1
- export SKIPLOCK
- ;;
-
- --exec-only | -e ) EXECONLY=1
- export EXECONLY
- ;;
-
- --http-server | -s ) shift
- HTTP_SERVER="$1"
- echo "HTTP szerver: $HTTP_SERVER"
- ;;
-
- --basedir | -b ) shift
- BASEDIR="$1"
- echo "Alapkönyvtár: $BASEDIR"
- ;;
-
- --from-revision | -r ) shift
- REV="$1"
- echo "Revision: $REV"
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1" # ide elvileg sose jutunk, mert a getopts már kiszűrte a hibás paraméterek
- exit
- ;;
- esac
- shift
-done
-
-TMPMODS=""
-while [ $# -ge 1 ]; do
- if [[ ! "${MODS[*]}" =~ .*$1.* ]]; then
- echo -e "Ismeretlen modul: $1"
- else
- TMPMODS="$1 $TMPMODS"
- fi
- shift
-done
-if [ "$TMPMODS" != '' ]; then
- MODULES=$TMPMODS
-fi
-
-###########################
-
-
-if [ -z $UPDATEDIR ]; then
- if [ -f ../config/update.conf ]; then
- echo -e "\n\nWARNING: elavult konfigurációs állomány! (update.conf)"
- echo " A frissítési rendszer a korábbi backup.conf és update.conf állományok helyett"
- echo " egy új, rögzített helyen lévő állományt használ: /etc/mayor/main.conf"
- echo " Most - ennek hiányában - a régebbi állományt használjuk"
- . ../config/update.conf
- else
- echo -e "\n\nERROR: Hiányzó konfigurációs file: ../config/update.conf"
- pwd
- exit 10
- fi
-fi
-
-# Ha paraméterknént nem volt megadva revision
-if [ -z "${REV:-}" ]; then
- if [ "$EXECONLY" == "1" ]; then
- echo "Hiba: Az --exec-only kapcsoló csak a --from-revision paraméterrel együtt használható!"
- exit 9
- fi
- if [ -f $REVISION_FILE ]; then
- REV=$(cat $REVISION_FILE)
- else
- REV=0
- fi
-fi
-
-echo -e "\n%%%%%%%%%%%%%%%%% $DATETIME %%%%%%%%%%%%%%%%%"
-echo -e "\nFrissítés $REV számú változatról."
-
-if [ "$EXECONLY" != "1" ]; then
- echo -e "\n * Az frissítéshez szükséges állományok letöltése (eltarthat pár percig)... "
-
- if [ "$MODULES" == '' ]; then
- echo -e "\n\nERROR: Nincs megadva a frissítendő modulok listája (/etc/mayor/main.conf)!\n"
- exit 1
- else
- declare -i UJ_REV
- if [ "$HTTP_SERVER" == '' ]; then
- if [ -f $SVN ]; then
- # frissítés SVN-ből
- $SVN --force export https://svn.mayor.hu/svn/trunk/mayor-base/bin "$BASEDIR/bin" > /dev/null
- for MODULE in $MODULES; do
- echo -n " $MODULE... "
- chmod +x $BASEDIR/bin/mayor
- if [ $? != 0 ]; then exit 2; fi
- UJ_REV=$($SVN --force export https://svn.mayor.hu/svn/trunk/$MODULE/update "$BASEDIR/update" | grep revision | cut -d ' ' -f 3 | uniq | sed -e 's/\.//g')
- if [ $? != 0 ]; then exit 3; fi
- echo "kész."
- done
- else
- echo -e "\n\nERROR: A subversion kliens nem található: $SVN"
- exit 4
- fi
- else
- # Munkakönyvtár létrehozása
- if [ ! -d $TMPDIR ]; then
- mkdir $TMPDIR
- chown -R 0:0 $TMPDIR
- chmod -R 700 $TMPDIR
- else
- rm -rf $TMPDIR/*
- fi
- cd $TMPDIR
- # Az md5sum állomány leszedáse
- if [ -z $VERSION ]; then
- wget "http://www.mayor.hu/download/md5sum"
- else
- wget "http://www.mayor.hu/download/$VERSION/md5sum"
- if [[ ! $HTTP_SERVER =~ .*$VERSION.* ]]; then HTTP_SERVER="$HTTP_SERVER/$VERSION"; fi
- fi
- if [ $? != 0 ]; then exit 5; fi
- UJ_REV=$(grep Revision md5sum | cut -d ' ' -f 2)
- if [ "$REV" -lt "$UJ_REV" ]; then
- # csomagok leszedése
- for MODULE in $MODULES; do
- echo -n " $MODULE... "
- MOD=$(echo $MODULE | sed "s#/#-#")
- FILE=$(grep "$MOD-rev" md5sum | cut -d ' ' -f 3)
- if [ "$FILE" != '' ]; then
- wget "$HTTP_SERVER/$FILE"
- if [ $? != 0 ]; then
- echo -e "\n\n ERROR: Az frissítés nem tölthető le: $FILE!\n"
- exit 6
- fi
- grep $FILE md5sum | md5sum -c --status
- if [ $? == 0 ]; then
- tar xfz $FILE -C $BASEDIR ./update
- else
- echo -e "\n\n ERROR: Az ellenörző összeg nem egyezik!\n"
- exit 7
- fi
- else
- echo 'Nincs ilyen modul!'
- exit 8 # nem szabad hiányzó csomagok mellett frissíteni!!
- fi
- done
- fi
- cd $BASEDIR/bin
- fi
- fi
-else # exec-only
- if [ -f $REVISION_FILE ]; then
- UJ_REV=$(cat $REVISION_FILE)
- else
- UJ_REV=0 # nem frissítünk semmit
- fi
-fi
-
-if [ "$REV" -ge "$UJ_REV" ]; then
- echo -e "\nNincs újabb változat.\n"
- echo -e "\n * A szükséges jogosultságok beállítása:"
- chmod +x $BASEDIR/bin/mayor
- echo 'kész.'
-else
- echo 'kész.'
- . $BASEDIR/update/processUpdateScripts.sh
-fi
-
-PWDTEX=$(pwd)
-echo -e "\nMaYoR TeX formátum állomány újragenerálása... "
-cd $BASEDIR/print/module-naplo/tex/ && fmtutil-sys --cnffile $BASEDIR/print/module-naplo/tex/mayor.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor > /dev/null 2>&1
-echo -e "\nMaYoR XeTeX formátum állomány újragenerálása... "
-cd $BASEDIR/print/module-naplo/xetex/ && fmtutil-sys --cnffile $BASEDIR/print/module-naplo/xetex/mayor-xetex.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor-xetex > /dev/null 2>&1
-cd $PWDTEX
-echo 'kész.'
-
-echo -e "\nFrissítés vége.\n"
-exit 0
diff --git a/mayor/bin/xetex2pdf.sh b/mayor/bin/xetex2pdf.sh
deleted file mode 100644
index a4f7bf3f..00000000
--- a/mayor/bin/xetex2pdf.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-#
-# A script segítségével tesztelhetjük, hogy mi történik, mikor a program a haladásinaplót, illetve osztályozónaplót generálja
-# __NYOMTATAS_XETEX===true beállítás mellett
-#
-# Paraméter: a feldolgozandó UTF-8 kódolású TeX állomány "-u8.tex" végződés nélküli neve.
-#
-
-. /etc/mayor/main.conf
-
-HOME="/tmp"
-export HOME
-
-# Make sure this exists
-# cd $BASEDIR/print/module-naplo/tex/
-# fmtutil-sys --cnffile $BASEDIR/print/module-naplo/tex/mayor.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor
-
-cat <<EOF > $1.tex
-%\font\kicsi=ecrm0500
-%\font\nagy=ecbx1200
-%\font\vastag=ecsx0800
-%\font\nagyss=ecsx1200
-%\font\normal=ecss0800
-%\font\dolt=ecsi0800
-
-\font\kicsi="Linux Libertine O" at 5pt
-\font\nagy="Linux Libertine O/B" at 12pt
-\font\nagyss="Arial/B" at 12pt
-\font\normal="Linux Biolinum O" at 8pt
-\font\dolt="Linux Biolinum O/I" at 8pt
-\normal
-
-EOF
-cat $1-u8.tex >> $1.tex
-xetex -fmt $BASEDIR/print/module-naplo/xetex/mayor-xetex $1.tex
-
diff --git a/mayor/update/processUpdateScripts.sh b/mayor/update/processUpdateScripts.sh
deleted file mode 100644
index 61ab5618..00000000
--- a/mayor/update/processUpdateScripts.sh
+++ /dev/null
@@ -1,267 +0,0 @@
-#!/bin/bash
-
-source $BASEDIR/update/linkme.sh
-
-# Setting Mysql Connection Parameters
-echo -e "[mysqld]
-character-set-server = utf8
-collation-server = utf8_hungarian_ci
-[client]
-default-character-set=utf8
-host=$MYSQL_HOST
-user=$MYSQL_USER
-password=$MYSQL_PW
-" > $BASEDIR/config/my.cnf
-
-PRECHARSET="SET NAMES 'utf8' COLLATE 'utf8_hungarian_ci'; " ## fontos, hogy a ";" ott legyen a végén!!
-#PRECHARSET="$PRECHARSET SET collation_connection = utf8_hungarian_ci; " ## ha a mysql server esetleg régebbi lenne.
-
-MYSQL_CONFIG="--defaults-extra-file=$BASEDIR/config/my.cnf"
-MYSQL_PARAMETERS=""
-TEST=$($MYSQL -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW -e exit 2>&1 >/dev/null)
-if [ $? == "0" ]; then
- echo "SQL-connect test #2 OK"
- MYSQL_PARAMETERS="-h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW"
-else
- echo "Hibás SQL csatlakozás(2)"
-fi
-TEST=$($MYSQL $MYSQL_CONFIG -e exit 2>&1 >/dev/null)
-if [ $? == "0" ]; then
- echo "SQL-connect test #1 OK"
- MYSQL_PARAMETERS=$MYSQL_CONFIG
-else
- echo "Hibás SQL csatlakozás(1)"
-fi
-echo "Karakterkódolás ellenőrzése"
-echo "SHOW VARIABLES LIKE 'character%';" | $MYSQL $MYSQL_PARAMETERS
-# patch by Acsai Gabor <acsi@c3.hu> - FreeBSD
-# Kiegészítve: Miklós Gergő <gergo@bmrg.hu> - Baár-Madas
-# gondolatmenet:
-# A "default-character-set" beállítása után a "character_set_client" változóból 1db kell legyen, és értéke pontosan "utf8" kell legyen!
-### TEST=`echo "SHOW VARIABLES LIKE 'character_set_client'" | $MYSQL $MYSQL_PARAMETERS | grep utf8 | wc -l | tr -d " "`
-TEST=$(echo "SHOW VARIABLES LIKE '%character_set_client%'" | $MYSQL $MYSQL_PARAMETERS | tail -n+2 | cut -f 2)
-if [ "$TEST" == "utf8" ]; then
- echo "SQL-UTF8 test OK"
-else
- echo -e "\n\nERROR: Hibás - nem utf8 - MySQL kliens karakterkódolás!\n"
- echo -e "Ellenőrizd a beállításokat és kérj segítséget a support@mayor.hu -n!\n"
- exit 12
-fi
-# --
-
-run_script() {
- FILEELEJE=$(echo $FILE | cut -f 1 -d '-')
- FILEREV=${FILEELEJE: -6}
- LOGSQL=""
- if [ "$FILEREV" != "" ]; then
- if [ "$FILEREV" -gt 3399 ]; then
- LOGSQL="INSERT IGNORE mayorUpdateLog (scriptFile) VALUES ('${FILE}')"
- fi
- fi
- if [ ! "${FILEREV}" \< "${REVSTR}" ]; then
- FILEEXT=$(echo $FILE | cut -f 2 -d '.')
- if [ "$FILEEXT" == "sh" ]; then
- echo " - Szkript futtatása ($FILE)..."
- . $FILE
- if [ $? != 0 ]; then exit 13; fi
- elif [ "$FILEEXT" == "sql" ]; then
- echo " - SQL utasítások végrehajtása ($FILE)..."
- FILEDB=$(echo $FILE | cut -f 1 -d '.' | cut -f 3 -d '-')
- case "$FILEDB" in
- naplo)
- DBS=$DB_NAPLO
- ;;
- intezmeny)
- DBS=$DB_INTEZMENY
- ;;
- auth)
- DBS=$DB_AUTH
- ;;
- *)
- DBS=$FILEDB
- ;;
- esac
- for DB in $DBS; do
- echo -e "\n $DB..."
-
- if [ "$FILEREV" != "" ]; then
- if [ "$FILEREV" -gt 3399 ]; then
- TEST=$((echo $PRECHARSET && echo "SELECT count(*) as db FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DB}' and TABLE_NAME='mayorUpdateLog'") | $MYSQL $MYSQL_PARAMETERS $DB | grep -v "db")
- if [ "$TEST" == "0" ]; then
- echo " Hiányzik a mayorUpdateLog tábla... tovább..."
- continue
- fi
- fi
- fi
-
- case "$FILEDB" in
- naplo)
- INTEZMENYDB=$(echo $DB | sed -e 's/\(naplo_\)\(.*\)\(_.*\)/intezmeny_\2/')
- INTEZMENYROVIDNEV=$(echo $DB | cut -f 2 -d '_')
- TANEV=$(echo $DB | cut -f 3 -d '_')
- (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENYDB%/$INTEZMENYDB/g" | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | \
- sed -e "s/%TANEV%/$TANEV/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- auth)
- (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | sed -e "s/%MYSQL_ENCODE_STR%/$MYSQL_ENCODE_STR/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- intezmeny)
- INTEZMENYROVIDNEV=$(echo $DB | cut -f 2 -d '_')
- (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- *)
- (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- esac
- if [ $? != 0 ]; then
- exit 13;
- fi
- done
- [ ! -z $SQLLOG ] && echo $FILE >> $SQLLOG;
- fi
- fi
-}
-
-echo " Az új változat verziószáma: $UJ_REV"
-
-REVSTR=$(printf "%06d" $REV)
-MYSQL_ENCODE_STR=$(grep _MYSQL_ENCODE_STR $BASEDIR/config/main-config.php | sed -e "s/define('_MYSQL_ENCODE_STR','\(.*\)');/\\1/")
-
-# mysql host beállítása
-if [ "$MYSQL_HOST" == "" ]; then
- MYSQL_HOST="localhost"
-fi
-echo " A MySQL backend a következő lesz: $MYSQL_HOST"
-echo " Figyelem! MySQL Master-Slave architekturát az upgrade script jelenleg nem támogat!!!"
-
-echo -e "\n * Adatbázisok lekérdezése..."
-if [ -f $MYSQL ]
-then
- DB_MAYOR=$($MYSQL $MYSQL_PARAMETERS -e"$PRECHARSET SHOW DATABASES LIKE 'mayor\_%'" | grep -e '^mayor\_[^_]*$') ## ide elvileg nem kellene precharset, mert itt minden ASCCI/2
- DB_NAPLO=$($MYSQL $MYSQL_PARAMETERS -e"$PRECHARSET SHOW DATABASES LIKE 'naplo\_%\_%'" | grep -e '^naplo\_[^\_]*\_20[0-9][0-9]$')
- DB_INTEZMENY=$($MYSQL $MYSQL_PARAMETERS -e"$PRECHARSET SELECT CONCAT('intezmeny_',rovidNev) FROM mayor_naplo.intezmeny" | grep -e '^intezmeny\_[^\_]*$')
-# DB_INTEZMENY=`$MYSQL $MYSQL_PARAMETERS -e"SHOW DATABASES LIKE 'intezmeny\_%'" | grep -e '^intezmeny\_[^\_]*$'`
- if [ $? != 0 ]; then exit 12; fi
- DB_AUTH=""
- for DB in $DB_MAYOR; do
- if [ "$DB" == "mayor_parent" -o "$DB" == "mayor_private" -o "$DB" == "mayor_public" ]; then
- DB_AUTH="$DB_AUTH $DB"
- fi
- done
-else
- echo -e "\n\nERROR: A mysql kliens nem található: $MYSQL\n"
- exit 12
-fi
-
-if [ "$SKIPLOCK" != "1" ]; then
- if [ ! -z $LOCKFILE ]; then
- echo -e "\n * A web-es elérés letiltása:"
- echo -n " - Lock-file létrehozása... "
- echo "$DATE: Update process runing... " > $LOCKFILE
- echo "kész."
-
- echo -n " - Aktív munkamenetek törlése... "
- $MYSQL $MYSQL_PARAMETERS -e"DELETE FROM mayor_login.session" ##itt se kell, jó az ASCII
- echo "kész."
- fi
-else
- echo -e "\n * A lock-olást a kérésedre kihagyjuk..."
-fi
-
-echo -e "\n * Az előzetes frissítő állományok feldolgozása (pre*, rev*):\n"
-for FILE in $(ls $UPDATEDIR/rev* $UPDATEDIR/pre* | sort); do
- run_script
-done
-
-if [ "$EXECONLY" != "1" ]; then
- echo -e "\n * A modulok állományainak frissítése:\n"
- for MODULE in $MODULES; do
- echo -e "\n $MODULE... \n"
- if [ "$HTTP_SERVER" == '' ]; then
- $SVN --force --quiet export https://svn.mayor.hu/svn/trunk/$MODULE "$BASEDIR"
- if [ $? != 0 ]; then exit 13; fi
- else
- # Ha rpm csomag futtatja, akkor már ki van csomagolva minden és nincs md5sum
- if [ -f $TMPDIR/md5sum ]; then
- MOD=$(echo $MODULE | sed "s#/#-#")
- FILE=$(grep "$MOD-rev" $TMPDIR/md5sum | cut -d ' ' -f 3)
- if [ -f $TMPDIR/$FILE ]; then
- tar xfz $TMPDIR/$FILE -C $BASEDIR
- if [ $? != 0 ]; then exit 13; fi
- fi
- fi
- fi
- done
- if [ -d $TMPDIR ]; then rm -rf $TMPDIR; fi
- echo -e "\nkész.\n"
-fi
-
-echo -e "\n * Az utólagos frissítő állományok feldolgozása (post*):\n"
-for FILE in $(ls $UPDATEDIR/post* | sort); do
- run_script
-done
-
-
-if [ -e $LOCKFILE ]; then
- if [ ! -z $LOCKFILE ]; then
- echo -e "\n * A web-es hozzáférés engedélyezése:"
- rm $LOCKFILE
- fi
-fi
-
-if [ "$EXECONLY" != "1" ]; then
- echo -e "\n * A szükséges jogosultságok beállítása:"
- chmod +x $BASEDIR/bin/mayor
- echo -n " ... "
- chown -R $WEB_SERVER_USER $BASEDIR/download
- chown -R $WEB_SERVER_USER $BASEDIR/cache
- if [ -d $BASEDIR/www/wiki/conf ]; then
- chown -R $WEB_SERVER_USER $BASEDIR/www/wiki/conf $BASEDIR/www/wiki/data
- fi
- chown $WEB_SERVER_USER $BASEDIR/config
- chmod 700 $BASEDIR/config
- echo -e "... kész.\n"
-
- echo -e "\n * Szimbolikus linkek ellenőrzése/létrehozása"
- POLICIES="parent public"
- for POLICY in $POLICIES; do
- eval "LIST=\$${POLICY}Link"
- for f in $LIST; do
- DIR=$(echo $f | cut -d / -f 1-2)
- if [ ! -d $BASEDIR/www/policy/$POLICY/$DIR ]; then
- echo " Könyvtár: $BASEDIR/www/policy/$POLICY/$DIR"
- mkdir -p $BASEDIR/www/policy/$POLICY/$DIR
- fi
- FILES="$f-pre.php $f.php"
- for file in $FILES; do
- if [ ! -e $BASEDIR/www/policy/$POLICY/$file ]; then
- if [ -f $BASEDIR/www/policy/private/$file ]; then
- echo " $BASEDIR/www/policy/private/$file --> $BASEDIR/www/policy/$POLICY/$file"
- ln -s $BASEDIR/www/policy/private/$file $BASEDIR/www/policy/$POLICY/$file
- else
- echo " Hiányzó file: $BASEDIR/www/policy/private/$file"
- fi
- fi
- done
- done
- eval "DLIST=\$${POLICY}Deny"
- for f in $DLIST; do
- FILES="$f-pre.php $f.php"
- for file in $FILES; do
- if [ -e $BASEDIR/www/policy/$POLICY/$file ]; then
- echo " $BASEDIR/www/policy/$POLICY/$file link(file) törlése"
- rm "$BASEDIR/www/policy/$POLICY/$file"
- fi
- done
- done
- done
-fi # execonly
-
-echo -e "\n * Az frissített verziószám rögzítése ($UJ_REV)"
-if [ "$UJ_REV" -gt 0 ]; then
- echo $UJ_REV > $REVISION_FILE
-else
- echo " Hibás (nulla) verziószám! Nem rögzítjük."
-fi
-
-[ -x "$LOCAL_UPDATE_SCRIPT" ] && echo -e "\n * Helyi szkript futtatása: $LOCAL_UPDATE_SCRIPT...\n " && . "$LOCAL_UPDATE_SCRIPT"
diff --git a/mayor/update/processUpdateScripts.sh.mod.txt b/mayor/update/processUpdateScripts.sh.mod.txt
deleted file mode 100644
index 3168b48d..00000000
--- a/mayor/update/processUpdateScripts.sh.mod.txt
+++ /dev/null
@@ -1,183 +0,0 @@
---- processUpdateScripts.sh.orig 2016-03-04 13:44:39.000000000 +0100
-+++ processUpdateScripts.sh 2018-03-04 14:10:13.835309914 +0100
-@@ -6,22 +6,26 @@
- echo -e "[mysqld]
- character-set-server = utf8
- collation-server = utf8_hungarian_ci
--skip-character-set-client-handshake
- [client]
-+default-character-set=utf8
- host=$MYSQL_HOST
- user=$MYSQL_USER
- password=$MYSQL_PW
- " > $BASEDIR/config/my.cnf
-+
-+PRECHARSET="SET NAMES 'utf8' COLLATE 'utf8_hungarian_ci'; " ## fontos, hogy a ";" ott legyen a végén!!
-+#PRECHARSET="$PRECHARSET SET collation_connection = utf8_hungarian_ci; " ## ha a mysql server esetleg régebbi lenne.
-+
- MYSQL_CONFIG="--defaults-extra-file=$BASEDIR/config/my.cnf"
- MYSQL_PARAMETERS=""
--TEST=`$MYSQL -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW -e exit 2>&1 >/dev/null`
-+TEST=$($MYSQL -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW -e exit 2>&1 >/dev/null)
- if [ $? == "0" ]; then
- echo "SQL-connect test #2 OK"
- MYSQL_PARAMETERS="-h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW"
- else
- echo "Hibás SQL csatlakozás(2)"
- fi
--TEST=`$MYSQL $MYSQL_CONFIG -e exit 2>&1 >/dev/null`
-+TEST=$($MYSQL $MYSQL_CONFIG -e exit 2>&1 >/dev/null)
- if [ $? == "0" ]; then
- echo "SQL-connect test #1 OK"
- MYSQL_PARAMETERS=$MYSQL_CONFIG
-@@ -31,8 +35,12 @@
- echo "Karakterkódolás ellenőrzése"
- echo "SHOW VARIABLES LIKE 'character%';" | $MYSQL $MYSQL_PARAMETERS
- # patch by Acsai Gabor <acsi@c3.hu> - FreeBSD
--TEST=`echo "SHOW VARIABLES LIKE 'character_set_client'" | $MYSQL $MYSQL_PARAMETERS | grep utf8 | wc -l | tr -d " "`
--if [ "x${TEST}" == "x1" ]; then
-+# Kiegészítve: Miklós Gergő <gergo@bmrg.hu> - Baár-Madas
-+# gondolatmenet:
-+# A "default-character-set" beállítása után a "character_set_client" változóból 1db kell legyen, és értéke pontosan "utf8" kell legyen!
-+### TEST=`echo "SHOW VARIABLES LIKE 'character_set_client'" | $MYSQL $MYSQL_PARAMETERS | grep utf8 | wc -l | tr -d " "`
-+TEST=$(echo "SHOW VARIABLES LIKE '%character_set_client%'" | $MYSQL $MYSQL_PARAMETERS | tail -n+2 | cut -f 2)
-+if [ "$TEST" == "utf8" ]; then
- echo "SQL-UTF8 test OK"
- else
- echo -e "\n\nERROR: Hibás - nem utf8 - MySQL kliens karakterkódolás!\n"
-@@ -42,7 +50,7 @@
- # --
-
- run_script() {
-- FILEELEJE=`echo $FILE | cut -f 1 -d '-'`
-+ FILEELEJE=$(echo $FILE | cut -f 1 -d '-')
- FILEREV=${FILEELEJE: -6}
- LOGSQL=""
- if [ "$FILEREV" != "" ]; then
-@@ -51,14 +59,14 @@
- fi
- fi
- if [ ! "${FILEREV}" \< "${REVSTR}" ]; then
-- FILEEXT=`echo $FILE | cut -f 2 -d '.'`
-+ FILEEXT=$(echo $FILE | cut -f 2 -d '.')
- if [ "$FILEEXT" == "sh" ]; then
- echo " - Szkript futtatása ($FILE)..."
- . $FILE
- if [ $? != 0 ]; then exit 13; fi
- elif [ "$FILEEXT" == "sql" ]; then
- echo " - SQL utasítások végrehajtása ($FILE)..."
-- FILEDB=`echo $FILE | cut -f 1 -d '.' | cut -f 3 -d '-'`
-+ FILEDB=$(echo $FILE | cut -f 1 -d '.' | cut -f 3 -d '-')
- case "$FILEDB" in
- naplo)
- DBS=$DB_NAPLO
-@@ -78,7 +86,7 @@
-
- if [ "$FILEREV" != "" ]; then
- if [ "$FILEREV" -gt 3399 ]; then
-- TEST=`echo "SELECT count(*) as db FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DB}' and TABLE_NAME='mayorUpdateLog'" | $MYSQL $MYSQL_PARAMETERS $DB | grep -v "db"`
-+ TEST=$((echo $PRECHARSET && echo "SELECT count(*) as db FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DB}' and TABLE_NAME='mayorUpdateLog'") | $MYSQL $MYSQL_PARAMETERS $DB | grep -v "db")
- if [ "$TEST" == "0" ]; then
- echo " Hiányzik a mayorUpdateLog tábla... tovább..."
- continue
-@@ -88,21 +96,21 @@
-
- case "$FILEDB" in
- naplo)
-- INTEZMENYDB=`echo $DB | sed -e 's/\(naplo_\)\(.*\)\(_.*\)/intezmeny_\2/'`
-- INTEZMENYROVIDNEV=`echo $DB | cut -f 2 -d '_'`
-- TANEV=`echo $DB | cut -f 3 -d '_'`
-- (cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENYDB%/$INTEZMENYDB/g" | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | \
-+ INTEZMENYDB=$(echo $DB | sed -e 's/\(naplo_\)\(.*\)\(_.*\)/intezmeny_\2/')
-+ INTEZMENYROVIDNEV=$(echo $DB | cut -f 2 -d '_')
-+ TANEV=$(echo $DB | cut -f 3 -d '_')
-+ (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENYDB%/$INTEZMENYDB/g" | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | \
- sed -e "s/%TANEV%/$TANEV/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- auth)
-- (cat $FILE && echo "${LOGSQL}") | sed -e "s/%MYSQL_ENCODE_STR%/$MYSQL_ENCODE_STR/g" | $MYSQL $MYSQL_PARAMETERS $DB
-+ (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | sed -e "s/%MYSQL_ENCODE_STR%/$MYSQL_ENCODE_STR/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- intezmeny)
-- INTEZMENYROVIDNEV=`echo $DB | cut -f 2 -d '_'`
-- (cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | $MYSQL $MYSQL_PARAMETERS $DB
-+ INTEZMENYROVIDNEV=$(echo $DB | cut -f 2 -d '_')
-+ (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- *)
-- (cat $FILE && echo "${LOGSQL}") | $MYSQL $MYSQL_PARAMETERS $DB
-+ (echo $PRECHARSET && cat $FILE && echo "${LOGSQL}") | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- esac
- if [ $? != 0 ]; then
-@@ -116,8 +124,8 @@
-
- echo " Az új változat verziószáma: $UJ_REV"
-
--REVSTR=`printf "%06d" $REV`
--MYSQL_ENCODE_STR=`grep _MYSQL_ENCODE_STR $BASEDIR/config/main-config.php | sed -e "s/define('_MYSQL_ENCODE_STR','\(.*\)');/\\1/"`
-+REVSTR=$(printf "%06d" $REV)
-+MYSQL_ENCODE_STR=$(grep _MYSQL_ENCODE_STR $BASEDIR/config/main-config.php | sed -e "s/define('_MYSQL_ENCODE_STR','\(.*\)');/\\1/")
-
- # mysql host beállítása
- if [ "$MYSQL_HOST" == "" ]; then
-@@ -129,9 +137,9 @@
- echo -e "\n * Adatbázisok lekérdezése..."
- if [ -f $MYSQL ]
- then
-- DB_MAYOR=`$MYSQL $MYSQL_PARAMETERS -e"SHOW DATABASES LIKE 'mayor\_%'" | grep -e '^mayor\_[^_]*$'`
-- DB_NAPLO=`$MYSQL $MYSQL_PARAMETERS -e"SHOW DATABASES LIKE 'naplo\_%\_%'" | grep -e '^naplo\_[^\_]*\_20[0-9][0-9]$'`
-- DB_INTEZMENY=`$MYSQL $MYSQL_PARAMETERS -e"SELECT CONCAT('intezmeny_',rovidNev) FROM mayor_naplo.intezmeny" | grep -e '^intezmeny\_[^\_]*$'`
-+ DB_MAYOR=$($MYSQL $MYSQL_PARAMETERS -e"$PRECHARSET SHOW DATABASES LIKE 'mayor\_%'" | grep -e '^mayor\_[^_]*$') ## ide elvileg nem kellene precharset, mert itt minden ASCCI/2
-+ DB_NAPLO=$($MYSQL $MYSQL_PARAMETERS -e"$PRECHARSET SHOW DATABASES LIKE 'naplo\_%\_%'" | grep -e '^naplo\_[^\_]*\_20[0-9][0-9]$')
-+ DB_INTEZMENY=$($MYSQL $MYSQL_PARAMETERS -e"$PRECHARSET SELECT CONCAT('intezmeny_',rovidNev) FROM mayor_naplo.intezmeny" | grep -e '^intezmeny\_[^\_]*$')
- # DB_INTEZMENY=`$MYSQL $MYSQL_PARAMETERS -e"SHOW DATABASES LIKE 'intezmeny\_%'" | grep -e '^intezmeny\_[^\_]*$'`
- if [ $? != 0 ]; then exit 12; fi
- DB_AUTH=""
-@@ -153,7 +161,7 @@
- echo "kész."
-
- echo -n " - Aktív munkamenetek törlése... "
-- $MYSQL $MYSQL_PARAMETERS -e"DELETE FROM mayor_login.session"
-+ $MYSQL $MYSQL_PARAMETERS -e"DELETE FROM mayor_login.session" ##itt se kell, jó az ASCII
- echo "kész."
- fi
- else
-@@ -161,7 +169,7 @@
- fi
-
- echo -e "\n * Az előzetes frissítő állományok feldolgozása (pre*, rev*):\n"
--for FILE in `ls $UPDATEDIR/rev* $UPDATEDIR/pre* | sort`; do
-+for FILE in $(ls $UPDATEDIR/rev* $UPDATEDIR/pre* | sort); do
- run_script
- done
-
-@@ -175,8 +183,8 @@
- else
- # Ha rpm csomag futtatja, akkor már ki van csomagolva minden és nincs md5sum
- if [ -f $TMPDIR/md5sum ]; then
-- MOD=`echo $MODULE | sed "s#/#-#"`
-- FILE=`grep "$MOD-rev" $TMPDIR/md5sum | cut -d ' ' -f 3`
-+ MOD=$(echo $MODULE | sed "s#/#-#")
-+ FILE=$(grep "$MOD-rev" $TMPDIR/md5sum | cut -d ' ' -f 3)
- if [ -f $TMPDIR/$FILE ]; then
- tar xfz $TMPDIR/$FILE -C $BASEDIR
- if [ $? != 0 ]; then exit 13; fi
-@@ -189,7 +197,7 @@
- fi
-
- echo -e "\n * Az utólagos frissítő állományok feldolgozása (post*):\n"
--for FILE in `ls $UPDATEDIR/post* | sort`; do
-+for FILE in $(ls $UPDATEDIR/post* | sort); do
- run_script
- done
-
-@@ -219,7 +227,7 @@
- for POLICY in $POLICIES; do
- eval "LIST=\$${POLICY}Link"
- for f in $LIST; do
-- DIR=`echo $f | cut -d / -f 1-2`
-+ DIR=$(echo $f | cut -d / -f 1-2)
- if [ ! -d $BASEDIR/www/policy/$POLICY/$DIR ]; then
- echo " Könyvtár: $BASEDIR/www/policy/$POLICY/$DIR"
- mkdir -p $BASEDIR/www/policy/$POLICY/$DIR
diff --git a/mayor/update/processUpdateScripts.sh.orig b/mayor/update/processUpdateScripts.sh.orig
deleted file mode 100644
index 47fbb23e..00000000
--- a/mayor/update/processUpdateScripts.sh.orig
+++ /dev/null
@@ -1,259 +0,0 @@
-#!/bin/bash
-
-source $BASEDIR/update/linkme.sh
-
-# Setting Mysql Connection Parameters
-echo -e "[mysqld]
-character-set-server = utf8
-collation-server = utf8_hungarian_ci
-skip-character-set-client-handshake
-[client]
-host=$MYSQL_HOST
-user=$MYSQL_USER
-password=$MYSQL_PW
-" > $BASEDIR/config/my.cnf
-MYSQL_CONFIG="--defaults-extra-file=$BASEDIR/config/my.cnf"
-MYSQL_PARAMETERS=""
-TEST=`$MYSQL -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW -e exit 2>&1 >/dev/null`
-if [ $? == "0" ]; then
- echo "SQL-connect test #2 OK"
- MYSQL_PARAMETERS="-h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PW"
-else
- echo "Hibás SQL csatlakozás(2)"
-fi
-TEST=`$MYSQL $MYSQL_CONFIG -e exit 2>&1 >/dev/null`
-if [ $? == "0" ]; then
- echo "SQL-connect test #1 OK"
- MYSQL_PARAMETERS=$MYSQL_CONFIG
-else
- echo "Hibás SQL csatlakozás(1)"
-fi
-echo "Karakterkódolás ellenőrzése"
-echo "SHOW VARIABLES LIKE 'character%';" | $MYSQL $MYSQL_PARAMETERS
-# patch by Acsai Gabor <acsi@c3.hu> - FreeBSD
-TEST=`echo "SHOW VARIABLES LIKE 'character_set_client'" | $MYSQL $MYSQL_PARAMETERS | grep utf8 | wc -l | tr -d " "`
-if [ "x${TEST}" == "x1" ]; then
- echo "SQL-UTF8 test OK"
-else
- echo -e "\n\nERROR: Hibás - nem utf8 - MySQL kliens karakterkódolás!\n"
- echo -e "Ellenőrizd a beállításokat és kérj segítséget a support@mayor.hu -n!\n"
- exit 12
-fi
-# --
-
-run_script() {
- FILEELEJE=`echo $FILE | cut -f 1 -d '-'`
- FILEREV=${FILEELEJE: -6}
- LOGSQL=""
- if [ "$FILEREV" != "" ]; then
- if [ "$FILEREV" -gt 3399 ]; then
- LOGSQL="INSERT IGNORE mayorUpdateLog (scriptFile) VALUES ('${FILE}')"
- fi
- fi
- if [ ! "${FILEREV}" \< "${REVSTR}" ]; then
- FILEEXT=`echo $FILE | cut -f 2 -d '.'`
- if [ "$FILEEXT" == "sh" ]; then
- echo " - Szkript futtatása ($FILE)..."
- . $FILE
- if [ $? != 0 ]; then exit 13; fi
- elif [ "$FILEEXT" == "sql" ]; then
- echo " - SQL utasítások végrehajtása ($FILE)..."
- FILEDB=`echo $FILE | cut -f 1 -d '.' | cut -f 3 -d '-'`
- case "$FILEDB" in
- naplo)
- DBS=$DB_NAPLO
- ;;
- intezmeny)
- DBS=$DB_INTEZMENY
- ;;
- auth)
- DBS=$DB_AUTH
- ;;
- *)
- DBS=$FILEDB
- ;;
- esac
- for DB in $DBS; do
- echo -e "\n $DB..."
-
- if [ "$FILEREV" != "" ]; then
- if [ "$FILEREV" -gt 3399 ]; then
- TEST=`echo "SELECT count(*) as db FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DB}' and TABLE_NAME='mayorUpdateLog'" | $MYSQL $MYSQL_PARAMETERS $DB | grep -v "db"`
- if [ "$TEST" == "0" ]; then
- echo " Hiányzik a mayorUpdateLog tábla... tovább..."
- continue
- fi
- fi
- fi
-
- case "$FILEDB" in
- naplo)
- INTEZMENYDB=`echo $DB | sed -e 's/\(naplo_\)\(.*\)\(_.*\)/intezmeny_\2/'`
- INTEZMENYROVIDNEV=`echo $DB | cut -f 2 -d '_'`
- TANEV=`echo $DB | cut -f 3 -d '_'`
- (cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENYDB%/$INTEZMENYDB/g" | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | \
- sed -e "s/%TANEV%/$TANEV/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- auth)
- (cat $FILE && echo "${LOGSQL}") | sed -e "s/%MYSQL_ENCODE_STR%/$MYSQL_ENCODE_STR/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- intezmeny)
- INTEZMENYROVIDNEV=`echo $DB | cut -f 2 -d '_'`
- (cat $FILE && echo "${LOGSQL}") | sed -e "s/%INTEZMENY%/$INTEZMENYROVIDNEV/g" | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- *)
- (cat $FILE && echo "${LOGSQL}") | $MYSQL $MYSQL_PARAMETERS $DB
- ;;
- esac
- if [ $? != 0 ]; then
- exit 13;
- fi
- done
- [ ! -z $SQLLOG ] && echo $FILE >> $SQLLOG;
- fi
- fi
-}
-
-echo " Az új változat verziószáma: $UJ_REV"
-
-REVSTR=`printf "%06d" $REV`
-MYSQL_ENCODE_STR=`grep _MYSQL_ENCODE_STR $BASEDIR/config/main-config.php | sed -e "s/define('_MYSQL_ENCODE_STR','\(.*\)');/\\1/"`
-
-# mysql host beállítása
-if [ "$MYSQL_HOST" == "" ]; then
- MYSQL_HOST="localhost"
-fi
-echo " A MySQL backend a következő lesz: $MYSQL_HOST"
-echo " Figyelem! MySQL Master-Slave architekturát az upgrade script jelenleg nem támogat!!!"
-
-echo -e "\n * Adatbázisok lekérdezése..."
-if [ -f $MYSQL ]
-then
- DB_MAYOR=`$MYSQL $MYSQL_PARAMETERS -e"SHOW DATABASES LIKE 'mayor\_%'" | grep -e '^mayor\_[^_]*$'`
- DB_NAPLO=`$MYSQL $MYSQL_PARAMETERS -e"SHOW DATABASES LIKE 'naplo\_%\_%'" | grep -e '^naplo\_[^\_]*\_20[0-9][0-9]$'`
- DB_INTEZMENY=`$MYSQL $MYSQL_PARAMETERS -e"SELECT CONCAT('intezmeny_',rovidNev) FROM mayor_naplo.intezmeny" | grep -e '^intezmeny\_[^\_]*$'`
-# DB_INTEZMENY=`$MYSQL $MYSQL_PARAMETERS -e"SHOW DATABASES LIKE 'intezmeny\_%'" | grep -e '^intezmeny\_[^\_]*$'`
- if [ $? != 0 ]; then exit 12; fi
- DB_AUTH=""
- for DB in $DB_MAYOR; do
- if [ "$DB" == "mayor_parent" -o "$DB" == "mayor_private" -o "$DB" == "mayor_public" ]; then
- DB_AUTH="$DB_AUTH $DB"
- fi
- done
-else
- echo -e "\n\nERROR: A mysql kliens nem található: $MYSQL\n"
- exit 12
-fi
-
-if [ "$SKIPLOCK" != "1" ]; then
- if [ ! -z $LOCKFILE ]; then
- echo -e "\n * A web-es elérés letiltása:"
- echo -n " - Lock-file létrehozása... "
- echo "$DATE: Update process runing... " > $LOCKFILE
- echo "kész."
-
- echo -n " - Aktív munkamenetek törlése... "
- $MYSQL $MYSQL_PARAMETERS -e"DELETE FROM mayor_login.session"
- echo "kész."
- fi
-else
- echo -e "\n * A lock-olást a kérésedre kihagyjuk..."
-fi
-
-echo -e "\n * Az előzetes frissítő állományok feldolgozása (pre*, rev*):\n"
-for FILE in `ls $UPDATEDIR/rev* $UPDATEDIR/pre* | sort`; do
- run_script
-done
-
-if [ "$EXECONLY" != "1" ]; then
- echo -e "\n * A modulok állományainak frissítése:\n"
- for MODULE in $MODULES; do
- echo -e "\n $MODULE... \n"
- if [ "$HTTP_SERVER" == '' ]; then
- $SVN --force --quiet export https://svn.mayor.hu/svn/trunk/$MODULE "$BASEDIR"
- if [ $? != 0 ]; then exit 13; fi
- else
- # Ha rpm csomag futtatja, akkor már ki van csomagolva minden és nincs md5sum
- if [ -f $TMPDIR/md5sum ]; then
- MOD=`echo $MODULE | sed "s#/#-#"`
- FILE=`grep "$MOD-rev" $TMPDIR/md5sum | cut -d ' ' -f 3`
- if [ -f $TMPDIR/$FILE ]; then
- tar xfz $TMPDIR/$FILE -C $BASEDIR
- if [ $? != 0 ]; then exit 13; fi
- fi
- fi
- fi
- done
- if [ -d $TMPDIR ]; then rm -rf $TMPDIR; fi
- echo -e "\nkész.\n"
-fi
-
-echo -e "\n * Az utólagos frissítő állományok feldolgozása (post*):\n"
-for FILE in `ls $UPDATEDIR/post* | sort`; do
- run_script
-done
-
-
-if [ -e $LOCKFILE ]; then
- if [ ! -z $LOCKFILE ]; then
- echo -e "\n * A web-es hozzáférés engedélyezése:"
- rm $LOCKFILE
- fi
-fi
-
-if [ "$EXECONLY" != "1" ]; then
- echo -e "\n * A szükséges jogosultságok beállítása:"
- chmod +x $BASEDIR/bin/mayor
- echo -n " ... "
- chown -R $WEB_SERVER_USER $BASEDIR/download
- chown -R $WEB_SERVER_USER $BASEDIR/cache
- if [ -d $BASEDIR/www/wiki/conf ]; then
- chown -R $WEB_SERVER_USER $BASEDIR/www/wiki/conf $BASEDIR/www/wiki/data
- fi
- chown $WEB_SERVER_USER $BASEDIR/config
- chmod 700 $BASEDIR/config
- echo -e "... kész.\n"
-
- echo -e "\n * Szimbolikus linkek ellenőrzése/létrehozása"
- POLICIES="parent public"
- for POLICY in $POLICIES; do
- eval "LIST=\$${POLICY}Link"
- for f in $LIST; do
- DIR=`echo $f | cut -d / -f 1-2`
- if [ ! -d $BASEDIR/www/policy/$POLICY/$DIR ]; then
- echo " Könyvtár: $BASEDIR/www/policy/$POLICY/$DIR"
- mkdir -p $BASEDIR/www/policy/$POLICY/$DIR
- fi
- FILES="$f-pre.php $f.php"
- for file in $FILES; do
- if [ ! -e $BASEDIR/www/policy/$POLICY/$file ]; then
- if [ -f $BASEDIR/www/policy/private/$file ]; then
- echo " $BASEDIR/www/policy/private/$file --> $BASEDIR/www/policy/$POLICY/$file"
- ln -s $BASEDIR/www/policy/private/$file $BASEDIR/www/policy/$POLICY/$file
- else
- echo " Hiányzó file: $BASEDIR/www/policy/private/$file"
- fi
- fi
- done
- done
- eval "DLIST=\$${POLICY}Deny"
- for f in $DLIST; do
- FILES="$f-pre.php $f.php"
- for file in $FILES; do
- if [ -e $BASEDIR/www/policy/$POLICY/$file ]; then
- echo " $BASEDIR/www/policy/$POLICY/$file link(file) törlése"
- rm "$BASEDIR/www/policy/$POLICY/$file"
- fi
- done
- done
- done
-fi # execonly
-
-echo -e "\n * Az frissített verziószám rögzítése ($UJ_REV)"
-if [ "$UJ_REV" -gt 0 ]; then
- echo $UJ_REV > $REVISION_FILE
-else
- echo " Hibás (nulla) verziószám! Nem rögzítjük."
-fi
-
-[ -x "$LOCAL_UPDATE_SCRIPT" ] && echo -e "\n * Helyi szkript futtatása: $LOCAL_UPDATE_SCRIPT...\n " && . "$LOCAL_UPDATE_SCRIPT"
diff --git a/mayor/www/include/modules/naplo/share/file.php b/mayor/www/include/modules/naplo/share/file.php
deleted file mode 100644
index 1e6c7595..00000000
--- a/mayor/www/include/modules/naplo/share/file.php
+++ /dev/null
@@ -1,662 +0,0 @@
-<?php
-
- require_once('include/share/print/pdf.php');
-
- if (file_exists("lang/$lang/module-naplo/share/file.php")) {
- require_once("lang/$lang/module-naplo/share/file.php");
- } elseif (file_exists('lang/'._DEFAULT_LANG.'/module-naplo/share/file.php')) {
- require_once('lang/'._DEFAULT_LANG.'/module-naplo/share/file.php');
- } else {
- echo $lang;
- }
-
- $Attrs = array(
-
- 'diakid' => _ATTR_DIAKID,
- 'oid' => _ATTR_OID,
- 'diakigazolvanyszam' => _ATTR_IGAZOLVANYSZAM,
- 'viseltnevelotag' => _ATTR_VNE,
- 'viseltcsaladinev' => _ATTR_VCSN,
- 'viseltutonev' => _ATTR_VUN,
- 'szuleteskorinevelotag' => _ATTR_SZNE,
- 'szuleteskoricsaladinev' => _ATTR_SZCSN,
- 'szuleteskoriutonev' => _ATTR_SZUN,
- 'szuletesihely' => _ATTR_SZH,
- 'szuletesiido' => _ATTR_SZI,
- 'anyanevelotag' => _ATTR_ANE,
- 'anyacsaladinev' => _ATTR_ACSN,
- 'anyautoneve' => _ATTR_AUN,
- 'kezdotanev' => _ATTR_KEZDO_TANEV,
- 'kezdoszemeszter' => _ATTR_KEZDO_SZEMESZTER,
- 'vegzotanev' => _ATTR_VEGZO_TANEV,
- 'vegzoszemeszter' => _ATTR_VEGZO_SZEMESZTER,
- 'adoazonosito' => _ATTR_ADOAZONOSITO,
- 'allampolgarsag' => _ATTR_ALLAMPOLGARSAG,
- 'anyaid' => _ATTR_ANYAID,
- 'apaid' => _ATTR_APAID,
- 'gondviseloid' => _ATTR_GONDVISELOID,
- 'neveloid' => _ATTR_NEVELOID,
- 'diaknaplosorszam' => _ATTR_DIAKNAPLOSORSZAM,
- 'elozoiskolaomkod' => _ATTR_ELOZOISKOLAOMKOD,
- 'email' => _ATTR_EMAIL,
- 'fogyatekossag' => _ATTR_FOGYATEKOSSAG,
- 'gondozasiszam' => _ATTR_GONDOZASISZAM,
- 'jogviszonykezdete' => _ATTR_JOGVISZONYKEZDETE,
- 'jogviszonyvege' => _ATTR_JOGVISZONYVEGE,
-
- 'lakhelyorszag' => _ATTR_LAKHELY_ORSZAG,
- 'lakhelyirsz' => _ATTR_LAKHELY_IRSZ,
- 'lakhelyhelyseg' => _ATTR_LAKHELY_HELYSEG,
- 'lakhelykozteruletnev' => _ATTR_LAKHELY_KOZTERULETNEV,
- 'lakhelykozteruletjelleg' => _ATTR_LAKHELY_KOZTERULETJELLEG,
- 'lakhelyhazszam' => _ATTR_LAKHELY_HAZSZAM,
- 'lakhelyemelet' => _ATTR_LAKHELY_EMELET,
- 'lakhelyajto' => _ATTR_LAKHELY_AJTO,
-
- 'tartorszag' => _ATTR_TART_ORSZAG,
- 'tartirsz' => _ATTR_TART_IRSZ,
- 'tarthelyseg' => _ATTR_TART_HELYSEG,
- 'tartkozteruletnev' => _ATTR_TART_KOZTERULETNEV,
- 'tartkozteruletjelleg' => _ATTR_TART_KOZTERULETJELLEG,
- 'tarthazszam' => _ATTR_TART_HAZSZAM,
- 'tartemelet' => _ATTR_TART_EMELET,
- 'tartajto' => _ATTR_TART_AJTO,
-
- 'tajszam' => _ATTR_TAJSZAM,
- 'osztalyjel' => _ATTR_OSZTALYJEL,
- 'penzugyistatusz' => _ATTR_PENZUGYISTATUSZ,
- 'szemelyiigazolvanyszam' => _ATTR_SZEMELYIIGAZOLVANYSZAM,
- 'szocialishelyzet' => _ATTR_SZOCIALISHELYZET,
- 'statusz' => _ATTR_STATUSZ,
- 'tartozkodasiokiratszam' => _ATTR_TARTOZKODASIOKIRATSZAM,
- 'torvenyeskepviselo' => _ATTR_TORVENYESKEPVISELO,
- 'telefon' => _ATTR_TELEFON,
- 'mobil' => _ATTR_MOBIL,
- 'nem' => _ATTR_NEM,
- 'lakohelyijellemzo' => _ATTR_LAKOHELYIJELLEMZO,
- 'megjegyzes' => _ATTR_MEGJEGYZES,
- );
-
- function readUpdateFile($fileName, $mezo_elvalaszto = ' ') {
-
-
- $ADATOK = array();
- if ($fp = @fopen($fileName,'r')) {
- // Az első 50 sor beolvasása - minta a mező-hozzárendeléshez
- $i=0;
- while (($sor = fgets($fp,1024)) and ($i<50)) {
- $ADATOK[$i] = explode($mezo_elvalaszto,chop($sor));
- $i++;
- }
- fclose($fp);
- } else {
- $_SESSION['alert'][] = 'message:file_open_error:'.$fileName;
- }
-
- return $ADATOK;
- }
-/*
- * Lekérdezi egy adatbázis (naplo_intezmeny, naplo (tanév)) egy adott táblájának mezőit.
- * Ha szükséges ezek listáját kiegészíti az extraAttrs tömbben felsorolt mezőkkel.
- * A mezőnevekhez nyelvi konstansokat rendelhetünk ($Attrs tömb és lang/.../share/file.php)
- */
- function getTableFields($table, $db = 'naplo_intezmeny', $extraAttrs = array(), $SET = array('withType' => false)) {
-
- global $Attrs;
-
- $return = $type = $name = array();
- $q = "SHOW FIELDS FROM `%s`";
- $r = db_query($q, array('fv' => 'getTableFields','modul' => $db, 'result' => 'indexed', 'values' => array($table)));
- for ($i = 0; $i < count($r); $i++) {
- if ($SET['withType']) {
- if (substr($r[$i]['Type'],0,7) == 'varchar') $type[ $r[$i]['Field'] ] = 'string';
- elseif (substr($r[$i]['Type'],0,4) == 'enum') $type[ $r[$i]['Field'] ] = 'enum';
- elseif (substr($r[$i]['Type'],0,4) == 'date') $type[ $r[$i]['Field'] ] = 'date';
- elseif (strpos($r[$i]['Type'],'int(') !== false) $type[ $r[$i]['Field'] ] = 'int';
- else $type[ $r[$i]['Field'] ] = 'string';
- }
- if ($Attrs[kisbetus($r[$i]['Field'])] != '') $name[$r[$i]['Field']] = $Attrs[kisbetus($r[$i]['Field'])];
- else $name[$r[$i]['Field']] = $r[$i]['Field'];
- }
- for ($i = 0; $i < count($extraAttrs); $i++) {
- if (!isset($name[$extraAttrs[$i]])) {
- if ($Attrs[kisbetus($extraAttrs[$i])] != '') $name[$extraAttrs[$i]] = $Attrs[kisbetus($extraAttrs[$i])];
- else $name[$extraAttrs[$i]] = $extraAttrs[$i];
- }
- }
- ksort($name);
-
- if ($SET['withType']) return array('names' => $name, 'types' => $type);
- return $name;
-
- }
-
-
- function getEnumField($modul, $table, $field) {
-
- $table = '`'.str_replace('.','`.`',$table).'`';
- $q = "SHOW FIELDS FROM %s LIKE '%s'";
- $v = array($table, $field);
- $field = db_query($q, array('fv' => 'getEnumField', 'modul' => $modul, 'result' => 'record', 'values' => $v));
- $enum = substr($field['Type'], 6, -2);
- $values = explode("','", $enum);
-
- return $values;
- }
-
- function getSetField($modul, $table, $field) {
-
- $table = '`'.str_replace('.','`.`',$table).'`';
- $q = "SHOW FIELDS FROM %s LIKE '%s'";
- $v = array($table, $field);
- $field = db_query($q, array('fv' => 'getSetField', 'modul' => $modul, 'result' => 'record', 'values' => $v));
- $set = substr($field['Type'], 5, -2);
- $values = explode("','", $set);
-
- return $values;
- }
-
-
- function updateTable($table, $file, $MEZO_LISTA, $KULCS_MEZOK, $mezo_elvalaszto = ' ', $rovatfej = false, $db = 'naplo_intezmeny') {
-
-
- if (!file_exists($file)) {
- $_SESSION['alert'][] = 'message:file_not_found:updateTable:'.$file;
- return false;
- }
-
- if (!is_array($MEZO_LISTA)) {
- $_SESSION['alert'][] = 'message:wrong_data:updateTable:MEZO_LISTA';
- return false;
- }
-
- if (!is_array($KULCS_MEZOK)) {
- $_SESSION['alert'][] = 'message:wrong_data:updateTable:KULCS_MEZOK';
- return false;
- }
-
- // A frissítendő attribútumok listája
- $attrList = array_values(array_filter($MEZO_LISTA));
-
- $fp = fopen($file,'r');
- if (!$fp) {
- $_SESSION['alert'][] = 'message:file_open_error:updateTable:'.$file;
- return false;
- }
-
- $lr = db_connect($db, array('fv' => 'updateTable'));
- if (!$lr) {
- $_SESSION['alert'][] = 'message:db_connect_failure:updateTable';
- fclose($fp);
- return false;
- }
- db_start_trans($lr);
-
- // Az első sor kihagyása
- if ($rovatfej) $sor = fgets($fp,1024);
- while ($sor = fgets($fp,1024)) {
-
- $insertValues = $insertPatterns = array();
- $adatSor = explode($mezo_elvalaszto,chop($sor));
- $update = false;
-
- // keresési feltétel összerakása
- $where = $v = $vw = array();
- for ($i = 0; $i < count($KULCS_MEZOK); $i++) {
- if ($adatSor[$KULCS_MEZOK[$i]] != '') {
- $where[] = "`%s`='%s'";
- array_push($vw, $MEZO_LISTA[$KULCS_MEZOK[$i]], $adatSor[$KULCS_MEZOK[$i]]);
- }
- }
- $num = 0;
- if (count($where) != 0) {
- $q = 'SELECT COUNT(*) FROM `%s` WHERE '.implode(' AND ', $where);
- array_unshift($vw, $table);
- $num = db_query($q, array('fv' => 'updateTable', 'values' => $vw, 'result' => 'value', 'modul' => $db), $lr);
- }
- if ($num == 1 && _SKIP_ON_DUP === true) { $_SESSION['alert'][] = 'info:_SKIP_ON_DUP:'.serialize($sor); continue; }
- if ($num == 1) { // update
- $v = $vw;
- array_shift($v); //$table kivétele
- $UPDATE = array();
- for ($i = 0; $i < count($MEZO_LISTA); $i++) {
- if (
- $MEZO_LISTA[$i] != ''
- and $adatSor[$i] != ''
- and !in_array($i,$KULCS_MEZOK)
- ) {
- if ($adatSor[$i] == '\N') {
- array_unshift($UPDATE, "`%s`=NULL");
- array_unshift($v, $MEZO_LISTA[$i]);
- } else {
- array_unshift($UPDATE, "`%s`='%s'");
- array_unshift($v, $MEZO_LISTA[$i], $adatSor[$i]);
- }
- }
- }
- if (count($UPDATE) > 0) {
- array_unshift($v, $table);
- $q = 'UPDATE `%s` SET '.implode(',',$UPDATE).' WHERE '.implode(' AND ', $where);
- $r = db_query($q, array('fv' => 'updateTable/update', 'values' => $v, 'modul' => $db, 'rollback' => true), $lr);
- if (!$r) {
- db_close($lr);
- return false;
- }
- }
- } elseif ($num == 0) { // insert
- for ($i = 0; $i < count($MEZO_LISTA); $i++) {
- if ($MEZO_LISTA[$i] != '') {
- if ($adatSor[$i] == '\N') {
- $insertValues[] = 'NULL';
- $insertPatterns[] = '%s';
- } else {
- $insertValues[] = $adatSor[$i];
- $insertPatterns[] = "'%s'";
- }
- }
- }
- $q = 'INSERT INTO `%s` ('.implode(',', array_fill(0, count($attrList), '%s')).')
- VALUES ('.implode(',', $insertPatterns).')';
- $v = mayor_array_join(array($table), $attrList, $insertValues);
- $r = db_query($q, array('fv' => 'updateTable/insert', 'modul' => $db, 'values' => $v, 'rollback' => true), $lr);
- if (!$r) {
- db_close($lr);
- return false;
- }
- } else {
- $_SESSION['alert'][] = 'message:wrong_data:updateTable:több illeszkedő rekord is van, túl laza a kulcs feltétel ('
- .call_user_func_array('sprintf', array_merge(array('%s tábla, '.implode(' AND ',$where)), $vw)).')';
- db_rollback($lr);
- db_close($lr);
- return false;
- }
- } // while
- db_commit($lr);
- db_close($lr);
-
- fclose($fp);
-
- }
-
- function generatePDF($outputFile, $outputDir, $str, $booklet=false) {
-
-
- // A szöveg file-ba írása
- if (!$fp = fopen($outputDir.'/'.$outputFile.'-u8.tex', 'w')) {
- $_SESSION['alert'][] = 'message:file_open_failure:generatePDF:'.$outputDir.'/'.$outputFile.'-u8.tex';
- return false;
- }
- if (!fwrite($fp, $str)) {
- $_SESSION['alert'][] = 'message:file_write_failure:generatePDF:'.$outputDir.'/'.$outputFile.'-u8.tex';
- return false;
- }
- fclose($fp);
- if (__NYOMTATAS_XETEX===true) {
- $ret = exec('cd '.$outputDir.'; cat <<EOF > '.$outputFile.'.tex
-%\font\kicsi=ecrm0500
-%\font\nagy=ecbx1200
-%\font\vastag=ecsx0800
-%\font\nagyss=ecsx1200
-%\font\normal=ecss0800
-%\font\dolt=ecsi0800
-
-\font\kicsi="Linux Libertine O" at 5pt
-\font\nagy="Linux Libertine O/B" at 12pt
-\font\nagyss="Arial/B" at 12pt
-\font\normal="Linux Biolinum O" at 8pt
-\font\dolt="Linux Biolinum O/I" at 8pt
-\normal
-
-EOF
-');
- $ret = exec('cd '.$outputDir.'; cat '.$outputFile.'-u8.tex >> '.$outputFile.'.tex');
- $ret = exec('cd '.$outputDir.'; xetex -fmt '._MAYOR_DIR.'/print/module-naplo/xetex/mayor-xetex '.$outputFile.'.tex');
-#ex -fmt '._MAYOR_DIR.'/print/module-naplo/tex/mayor '.$outputFile.'.tex');
- } else {
- // utf8 --> cork (t1)
- $ret = exec('cd '.$outputDir.'; cat '.$outputFile.'-u8.tex | sed -e "s/\xc2\xa0/\x20/g" | recode u8..T1 > '.$outputFile.'.tex');
- // DVI, PS, PFD generálás (a rotate miatt nem megy a pdftex közvetlenül :o(
- $ret = exec('cd '.$outputDir.'; tex -fmt '._MAYOR_DIR.'/print/module-naplo/tex/mayor '.$outputFile.'.tex');
- if ($ret === false) { $_SESSION['alert'][] = 'message:futási_hiba:generatePDF:tex'; return false; }
-# LOG $ret = exec('cd '.$outputDir.'; dvips '.$outputFile.'.dvi 2>&1 | tee -a /tmp/x.log ');
- $ret = exec('HOME=/tmp && export HOME && cd '.$outputDir.'; dvips '.$outputFile.'.dvi ');
- if ($ret === false) { $_SESSION['alert'][] = 'message:futási_hiba:generatePDF:ps'; return false; }
- $ret = exec('cd '.$outputDir.'; ps2pdf -sPAPERSIZE=a4 -dAutoRotatePages=/None '.$outputFile.'.ps');
- if (strpos($ret, 'error') !== false) { $_SESSION['alert'][] = 'message:futási_hiba:generatePDF:pdf'; return false; }
-
- }
- if ($booklet) {
- $ret = exec('cd '.$outputDir.'; mv '.$outputFile.'.pdf '.$outputFile.'-A4.pdf; pdfbook --short-edge --outfile '.$outputFile.'.pdf '.$outputFile.'-A4.pdf');
- }
- return true;
- }
-
- function generateXLS($fileName, $Table, $title) {
-
- global $policy, $page, $sub, $f;
-
- if (dirname($fileName) == '.') $fileName = _DOWNLOADDIR."/$policy/$page/$sub/$f/$fileName";
- $fp = fopen($fileName, 'w');
- if (!$fp) {
- $_SESSION['alert'][] = 'message:file_open_failure:'.$fileName;
- return false;
- }
-
- fputs($fp, '<?xml version="1.0"?>'."\r\n");
- fputs($fp, '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
- xmlns:o="urn:schemas-microsoft-com:office:office"
- xmlns:x="urn:schemas-microsoft-com:office:excel"
- xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
- xmlns:html="http://www.w3.org/TR/REC-html40">'."\r\n");
- fputs($fp, ' <Styles>'."\r\n"
- .' <Style ss:ID="s21">'."\r\n".' <NumberFormat ss:Format="Short Date" />'."\r\n".' </Style>'."\r\n"
- .' <Style ss:ID="s22">'."\r\n".' <NumberFormat ss:Format="yyyy\.m\.d\.\ h:mm" />'."\r\n".' </Style>'."\r\n"
- ."\r\n".' </Styles>'."\r\n");
-
- fputs($fp, '<Worksheet ss:Name="'.$title.'">'."\r\n");
- fputs($fp, '<Table>'."\r\n");
-
- for ($i = 0; $i < count($Table); $i++) {
- fputs($fp, ' <Row>'."\r\n");
- foreach ($Table[$i] as $index => $value) {
- if (is_numeric($value))
- fputs($fp, " <Cell><Data ss:Type=\"Number\">".$value."</Data></Cell>\r\n");
- elseif (strtotime($value))
- if (strlen($value) > 10) {
- fputs($fp, " <Cell ss:StyleID=\"s22\"><Data ss:Type=\"DateTime\">".str_replace(' ','T',$value).'.000'."</Data></Cell>\r\n");
- } else {
- fputs($fp, " <Cell ss:StyleID=\"s21\"><Data ss:Type=\"DateTime\">".$value.'T08:40:00.000'."</Data></Cell>\r\n");
- }
- else
- fputs($fp, " <Cell><Data ss:Type=\"String\">".$value."</Data></Cell>\r\n");
- }
- fputs($fp, ' </Row>'."\r\n");
- }
-
- fputs($fp, '</Table>'."\r\n");
- fputs($fp, '</Worksheet>'."\r\n");
- fputs($fp, '</Workbook>'."\r\n");
-
- fclose($fp);
- return true;
-
- }
-
- function generateCSV($fileName, $Table, $title, $mezoElvalaszto=' ') {
-
- global $policy, $page, $sub, $f;
-
- if (dirname($fileName) == '.') $fileName = _DOWNLOADDIR."/$policy/$page/$sub/$f/$fileName";
- $fp = fopen($fileName, 'w');
- if (!$fp) {
- $_SESSION['alert'][] = 'message:file_open_failure:'.$fileName;
- return false;
- }
-
- if ($title !='') fputs($fp, $title."\n");
- for ($i = 0; $i < count($Table); $i++) fputs($fp, implode($mezoElvalaszto, $Table[$i])."\n");
-
- fclose($fp);
- return true;
-
- }
-
- function generateODS($fileName, $Table, $title) {
-
- global $policy, $page, $sub, $f;
-
- if (dirname($fileName) == '.') $fileName = _DOWNLOADDIR."/$policy/$page/$sub/$f/$fileName";
- define('TMPZIP','/tmp/'.substr(basename($fileName), 0, strpos(basename($fileName), '.')));
- define('ODS_MIMETIPE','application/vnd.oasis.opendocument.spreadsheet');
- define('ODS_MANIFEST','<?xml version="1.0" encoding="UTF-8"?>
-<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0">
- <manifest:file-entry manifest:media-type="application/vnd.oasis.opendocument.spreadsheet" manifest:version="1.2" manifest:full-path="/"/>
- <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="content.xml"/>
-</manifest:manifest>');
- define('ODS_START_XMLDOCUMENT','<?xml version="1.0" encoding="UTF-8"?>
-<office:document-content
- xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
- xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
- xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
- xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
- xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
- xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
- xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
- xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"
- xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
- xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
- xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
- xmlns:math="http://www.w3.org/1998/Math/MathML"
- xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
- xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
- xmlns:ooo="http://openoffice.org/2004/office"
- xmlns:ooow="http://openoffice.org/2004/writer"
- xmlns:oooc="http://openoffice.org/2004/calc"
- xmlns:dom="http://www.w3.org/2001/xml-events"
- xmlns:xforms="http://www.w3.org/2002/xforms"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:rpt="http://openoffice.org/2005/report"
- xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
- xmlns:xhtml="http://www.w3.org/1999/xhtml"
- xmlns:grddl="http://www.w3.org/2003/g/data-view#"
- xmlns:tableooo="http://openoffice.org/2009/table"
- xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
- xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
- office:version="1.2" grddl:transformation="http://docs.oasis-open.org/office/1.2/xslt/odf2rdf.xsl">');
- define('ODS_ASTYLES','<office:automatic-styles>
- <number:date-style style:name="N84">
- <number:year number:style="long"/>
- <number:text>-</number:text>
- <number:month number:style="long"/>
- <number:text>-</number:text>
- <number:day number:style="long"/>
- </number:date-style>
- <style:style style:name="ce1" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N84"/>
- </office:automatic-styles>');
- define('ODS_START_SPREADSHEET','<office:body><office:spreadsheet>');
- define('ODS_START_TABLE','<table:table table:name="Export">');
- define('ODS_START_ROW','<table:table-row>');
- define('ODS_END_ROW','</table:table-row>');
- define('ODS_END_TABLE','</table:table>');
- define('ODS_END_SPREADSHEET','</office:spreadsheet></office:body>');
- define('ODS_END_XMLDOCUMENT','</office:document-content>');
-
- $content = ODS_START_XMLDOCUMENT . ODS_ASTYLES . ODS_START_SPREADSHEET . ODS_START_TABLE;
- for ($i = 0; $i < count($Table); $i++) {
- $content .= ODS_START_ROW;
- foreach ($Table[$i] as $index => $value) {
- if (is_numeric($value))
- $content .= '<table:table-cell office:value-type="float" office:value="'.$value.'"/>'."\n";
- elseif (strtotime($value))
- if (strlen($value) > 10) {
- $content .= '<table:table-cell table:style-name="ce1" office:value-type="date" office:date-value="'.$value.'"/>'."\n";
- } else {
- $content .= '<table:table-cell table:style-name="ce1" office:value-type="date" office:date-value="'.$value.'"/>'."\n";
- }
- elseif ($value[0] == '=') $content .= '<table:table-cell table:formula="'.$value.'" office:value-type="float"/>'."\n";
- // formula példa: $value = 'of:=SUM([.A1:.B1])*2+[.A1]'
- else $content .= '<table:table-cell office:value-type="string"><text:p>'.$value.'</text:p></table:table-cell>'."\n";
- }
- $content .= ODS_END_ROW;
- }
- $content .= ODS_END_TABLE . ODS_END_SPREADSHEET . ODS_END_XMLDOCUMENT;
-
- mkdir(TMPZIP);
- mkdir(TMPZIP."/META-INF");
- file_put_contents(TMPZIP."/META-INF/manifest.xml", ODS_MANIFEST);
- file_put_contents(TMPZIP."/content.xml", $content);
- file_put_contents(TMPZIP."/mimetype", ODS_MIMETIPE);
- system("cd ".TMPZIP."; zip -mr ".$fileName." mimetype META-INF/* content.xml >/dev/null");
- rmdir(TMPZIP."/META-INF");
- rmdir(TMPZIP);
-
- return true;
- }
-
-/* --------------------------------------- */
-
- function _template2array($fp, $type, &$aTeX) {
- $vege = false;
- $aTeX[$type] = array();
- while (!$vege && ($sor = fgets($fp, 1024))) {
- $sor = chop($sor);
- if ($sor == "%}$type") {
- $vege = true;
- } elseif (substr($sor, 0, 2) != '%!') { // A feldolgozást végző függvény megadása
- if (substr($sor, 0, 2) == '%}') {
- echo "HIBA #1 Megnyitás előtti blokk lezárás a {$type} blokkban: $sor<hr>";
- } else {
- if (substr($sor, 0, 2) == '%{') {
- $_type = substr($sor, 2);
- _template2array($fp, $_type, $aTeX);
- $aTeX[$type][] = '%{'.$_type.'}';
- } else {
- // feltételes szövegrészek
- $condArray = explode('%?', $sor);
- for ($i = 1; $i < count($condArray); $i = $i + 2) {
- $str = $condArray[$i];
- $tmpArray = explode('|', $str);
- $j = 0; while (is_array($aTeX['conditional']["$j".$tmpArray[0]])) $j++;
- $newCondition = "$j".$tmpArray[0];
- $aTeX['conditional'][$newCondition] = array(true => $tmpArray[1], false => $tmpArray[2], 'orig' => $tmpArray[0]);
- $sor = str_replace($str.'%?', $newCondition, $sor);
- }
-// $aTeX[$type][] = $sor;
- // lezáró eset
- $finalArray = explode('%>', $sor);
- for ($i = 1; $i < count($finalArray); $i = $i + 2) {
- $str = $finalArray[$i];
- $tmpArray = explode('<!>', $str);
- $j = 0; while (is_array($aTeX['finalCase']["$j".$type])) $j++;
- $newCondition = "$j".$type;
- $aTeX['finalCase'][$newCondition] = array(true => $tmpArray[0], false => $tmpArray[1]);
- $sor = str_replace($str.'%>', $newCondition, $sor);
- }
- $aTeX[$type][] = $sor;
- }
- }
- }
- }
- }
-
- function _array2text($type, $id, $mit, $mire, $aTeX, $ADAT, $flag = null) {
- $ret = '';
- if (is_null($id)) $A = $ADAT[$type];
- else $A = $ADAT[$type][$id];
-
- // A cserélendő attribútumok
- if (is_array($A)) foreach ($A as $attr => $value) {
- if (!is_array($value)) {
- if (true || !is_bool($value)) { // feltételes szövegrészek külön kezelendők ??? Miért is? Az általánosabb feltételes kiíráshoz kell!
- if (in_array('%$'.$attr, $mit)) { // A már szereplő mintát felülírjuk!
- $key = array_search('%$'.$attr, $mit);
- $mit[$key] = '%$'.$attr;
- $mire[$key] = $value;
- } else {
- $mit[] = '%$'.$attr;
- $mire[] = $value;
- }
- }
- }
- }
-
- // aTeX feldolgozása
- $TeX = $aTeX[$type];
- for ($i = 0; $i < count($TeX); $i++) {
- $sor = $TeX[$i];
- if (substr($sor, 0, 2) == '%{') {
- // Almodul feldolgozása
- $_type = substr($sor, 2, -1);
- if (is_array($A[$_type])) {
- if (is_null($id)) {
- foreach ($A[$_type] as $key => $_id) $ret .= _array2text($_type, $_id, $mit, $mire, $aTeX, $ADAT);
- } else {
- $count = count($A[$_type]); $db = 0;
- foreach ($A[$_type] as $_id => $_data) {
- $db++; if ($count == $db) $_flag = 'final'; else $_flag = null;
- if (!is_array($ADAT[$_type][$_id]) && !is_array($_data)) {
- echo '<br>HIBA#2!!! '.$_type.':'.$_id.':'.$_data.'<hr />';
-// return false;
- } else {
- if (!is_array($ADAT[$_type][$_id])) $ADAT[$_type][$_id] = array();
- elseif (!is_array($_data)) $_data = array();
- $ADAT[$_type][$_id] = $ADAT[$_type][$_id] + $_data;
- $ret .= _array2text($_type, $_id, $mit, $mire, $aTeX, $ADAT, $_flag);
- }
- }
- }
- } elseif (__DEBUG === true) { echo '<br>HIBA#3: '.$sor.'<br />'.$_type.':'; var_dump($A[$_type]); echo '<hr />';}
- } else {
- // Csere - lezáró eset
- if (strpos($sor, '%>') !== false) foreach ($aTeX['finalCase'] as $attr => $values) {
- $sor = str_replace('%>'.$attr, $values[ $flag === 'final' ], $sor);
- }
- // Csete - feltételes kiírás
- if (strpos($sor, '%?') !== false) foreach ($aTeX['conditional'] as $attr => $values) {
- // Nem csak az adott szintről veszi az értéket, hanem feljebbről is (a feljebbi a meghatározó - ez nem biztos, hogy jó...)
- if ($key = array_search('%$'.$values['orig'], $mit)) $_val = $mire[$key];
- else $_val = $A[$values['orig']];
- $sor = str_replace('%?'.$attr, $values[ $_val==true ], $sor);
- //$sor = str_replace('%?'.$attr, $values[ $A[$values['orig']]==true ], $sor);
- }
- // Kiírás
- $ret .= str_replace($mit, $mire, $sor)."\n";
- }
- }
-
- return $ret;
- }
-
- function template2text($templateFile, $ADAT) {
-
- $mit = $mire = array();
- $aTeX = array('conditional' => array());
-
- $fp = fopen($templateFile, 'r');
- _template2array($fp, 'base', $aTeX);
- fclose($fp);
- return _array2text('base', null, $mit, $mire, $aTeX, $ADAT);
-
- }
-
- function template2file($templateFile, $ADAT) {
-
- global $policy, $page, $sub, $f;
-
- $mit = $mire = array();
- $aTeX = array('conditional' => array());
-
- $fp = fopen($templateFile, 'r');
- // A feldolgozást végző függvény neve
- $sor = fgets($fp, 1024);
- rewind($fp);
- if (substr($sor, 0, 2) == '%!') {
- list($func,$ext,$opt) = explode(' ', substr(chop($sor), 2));
- if (!function_exists($func)) unset($func);
- }
- if ($ext=='') $ext = 'txt';
- _template2array($fp, 'base', $aTeX);
- fclose($fp);
- $text = _array2text('base', null, $mit, $mire, $aTeX, $ADAT);
-//die();
- if ($text === false) return false;
- $success = true;
- if (isset($func)) {
- $success = $func($text, $ADAT['file'], $opt);
- } else {
- $fp = fopen(_DOWNLOADDIR."/$policy/$page/$sub/$f/".$ADAT['file'].'.'.$ext, 'w');
- fputs($fp, $text);
- fclose($fp);
- }
- if ($success) return $ADAT['file'].".$ext";
- else return false;
-
- }
-
-
-
-?>