mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Performanceproblem beim Infoterminal behoben; Unnötige Datenbankzugriffe in Klasse Studiengang minimiert;
This commit is contained in:
@@ -38,31 +38,6 @@ require_once('../include/vorlage.class.php');
|
||||
$user = get_uid();
|
||||
$db = new basis_db();
|
||||
|
||||
function clean_string($string)
|
||||
{
|
||||
$trans = array("ä" => "ae",
|
||||
"Ä" => "Ae",
|
||||
"ö" => "oe",
|
||||
"Ö" => "Oe",
|
||||
"ü" => "ue",
|
||||
"Ü" => "Ue",
|
||||
"á" => "a",
|
||||
"à" => "a",
|
||||
"é" => "e",
|
||||
"è" => "e",
|
||||
"ó" => "o",
|
||||
"ò" => "o",
|
||||
"í" => "i",
|
||||
"ì" => "i",
|
||||
"ù" => "u",
|
||||
"ú" => "u",
|
||||
"ß" => "ss");
|
||||
|
||||
$string = strtr($string, $trans);
|
||||
return mb_ereg_replace("[^a-zA-Z0-9]", "", $string);
|
||||
//[:space:]
|
||||
}
|
||||
|
||||
//Parameter holen
|
||||
if(isset($_GET['xml']))
|
||||
$xml=$_GET['xml'];
|
||||
|
||||
+120
-98
@@ -19,11 +19,11 @@
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/* Erstellt einen Lehrauftrag im PDF Format
|
||||
*
|
||||
/* Erstellt diverse Dokumente
|
||||
*
|
||||
* Erstellt ein XML File Transformiert dieses mit
|
||||
* Hilfe der XSL-FO Vorlage aus der DB und generiert
|
||||
* daraus ein PDF (xslfo2pdf)
|
||||
* daraus ein PDF mittels xslfo2pdf bzw unoconv
|
||||
*/
|
||||
session_cache_limiter('none'); //muss gesetzt werden sonst funktioniert der Download mit IE8 nicht
|
||||
session_start();
|
||||
@@ -36,35 +36,13 @@ require_once('../include/akte.class.php');
|
||||
require_once('../include/vorlage.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
require_once('../include/prestudent.class.php');
|
||||
require_once('../include/variable.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
$db = new basis_db();
|
||||
loadVariables($user);
|
||||
|
||||
function clean_string($string)
|
||||
{
|
||||
$trans = array("ä" => "ae",
|
||||
"Ä" => "Ae",
|
||||
"ö" => "oe",
|
||||
"Ö" => "Oe",
|
||||
"ü" => "ue",
|
||||
"Ü" => "Ue",
|
||||
"á" => "a",
|
||||
"à" => "a",
|
||||
"é" => "e",
|
||||
"è" => "e",
|
||||
"ó" => "o",
|
||||
"ò" => "o",
|
||||
"í" => "i",
|
||||
"ì" => "i",
|
||||
"ù" => "u",
|
||||
"ú" => "u",
|
||||
"ß" => "ss");
|
||||
|
||||
$string = strtr($string, $trans);
|
||||
return mb_ereg_replace("[^a-zA-Z0-9]", "", $string);
|
||||
//[:space:]
|
||||
}
|
||||
$variable_obj = new variable();
|
||||
$variable_obj->loadVariables($user);
|
||||
|
||||
//Parameter holen
|
||||
if(isset($_GET['xml']))
|
||||
@@ -76,29 +54,35 @@ if(isset($_GET['xsl']))
|
||||
else
|
||||
die('Fehlerhafte Parameteruebergabe');
|
||||
|
||||
// Studiengang ermitteln dessen Vorlage verwendet werden soll
|
||||
$xsl_stg_kz=0;
|
||||
if(isset($_GET['xsl_stg_kz']))
|
||||
// Direkte uebergabe des Studienganges dessen Vorlage verwendet werden soll
|
||||
if(isset($_GET['xsl_stg_kz']))
|
||||
$xsl_stg_kz=$_GET['xsl_stg_kz'];
|
||||
else
|
||||
{
|
||||
// Wenn eine Studiengangskennzahl uebergeben wird, wird die Vorlage dieses Studiengangs verwendet
|
||||
if(isset($_GET['stg_kz']))
|
||||
$xsl_stg_kz=$_GET['stg_kz'];
|
||||
else
|
||||
{
|
||||
// Werden UIDs uebergeben, wird die Vorlage des Studiengangs genommen
|
||||
// in dem der 1. Studierende in der Liste ist
|
||||
if(isset($_GET['uid']) && $_GET['uid']!='')
|
||||
{
|
||||
if(strstr(';',$_GET['uid']))
|
||||
$uids = explode(';',$_GET['uid']);
|
||||
else
|
||||
$uids = $_GET['uid'];
|
||||
//var_dump($uids);
|
||||
$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE student_uid='".addslashes($uids[1])."'";
|
||||
if($result_std = $db->db_query($qry))
|
||||
if($db->db_num_rows($result_std)==1)
|
||||
{
|
||||
$row_std = $db->db_fetch_object($result_std);
|
||||
$xsl_stg_kz=$row_std->studiengang_kz;
|
||||
}
|
||||
}
|
||||
|
||||
$student_obj = new student();
|
||||
if($student_obj->load($uids[1]))
|
||||
{
|
||||
$xsl_stg_kz=$student_obj->studiengang_kz;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(isset($_GET['xsl_oe_kurzbz']))
|
||||
$xsl_oe_kurzbz=$_GET['xsl_oe_kurzbz'];
|
||||
else
|
||||
@@ -107,33 +91,31 @@ else
|
||||
//Parameter setzen
|
||||
$params='?xmlformat=xml';
|
||||
if(isset($_GET['uid']))
|
||||
$params.='&uid='.$_GET['uid'];
|
||||
if(isseT($_GET['stg_kz']))
|
||||
$params.='&stg_kz='.$_GET['stg_kz'];
|
||||
if(isset($_GET['person_id']))
|
||||
$params.='&person_id='.$_GET['person_id'];
|
||||
if(isset($_GET['id']))
|
||||
$params.='&id='.$_GET['id'];
|
||||
if(isset($_GET['prestudent_id']))
|
||||
$params.='&prestudent_id='.$_GET['prestudent_id'];
|
||||
if(isset($_GET['buchungsnummern']))
|
||||
$params.='&buchungsnummern='.$_GET['buchungsnummern'];
|
||||
$params.='&uid='.urlencode($_GET['uid']);
|
||||
if(isset($_GET['stg_kz']))
|
||||
$params.='&stg_kz='.$_GET['stg_kz'];
|
||||
$params.='&stg_kz='.urlencode($_GET['stg_kz']);
|
||||
if(isset($_GET['person_id']))
|
||||
$params.='&person_id='.urlencode($_GET['person_id']);
|
||||
if(isset($_GET['id']))
|
||||
$params.='&id='.urlencode($_GET['id']);
|
||||
if(isset($_GET['prestudent_id']))
|
||||
$params.='&prestudent_id='.urlencode($_GET['prestudent_id']);
|
||||
if(isset($_GET['buchungsnummern']))
|
||||
$params.='&buchungsnummern='.urlencode($_GET['buchungsnummern']);
|
||||
if(isset($_GET['ss']))
|
||||
$params.='&ss='.$_GET['ss'];
|
||||
$params.='&ss='.urlencode($_GET['ss']);
|
||||
if(isset($_GET['abschlusspruefung_id']))
|
||||
$params.='&abschlusspruefung_id='.$_GET['abschlusspruefung_id'];
|
||||
$params.='&abschlusspruefung_id='.urlencode($_GET['abschlusspruefung_id']);
|
||||
if(isset($_GET['typ']))
|
||||
$params.='&typ='.$_GET['typ'];
|
||||
$params.='&typ='.urlencode($_GET['typ']);
|
||||
if(isset($_GET['all']))
|
||||
$params.='&all='.$_GET['all'];
|
||||
$params.='&all='.urlencode($_GET['all']);
|
||||
if(isset($_GET['preoutgoing_id']))
|
||||
$params.='&preoutgoing_id='.$_GET['preoutgoing_id'];
|
||||
$params.='&preoutgoing_id='.urlencode($_GET['preoutgoing_id']);
|
||||
if(isset($_GET["lvid"]))
|
||||
$params.='&lvid='.$_GET["lvid"];
|
||||
$params.='&lvid='.urlencode($_GET["lvid"]);
|
||||
if(isset($_GET['projekt_kurzbz']))
|
||||
$params.='&projekt_kurzbz='.$_GET['projekt_kurzbz'];
|
||||
$params.='&projekt_kurzbz='.urlencode($_GET['projekt_kurzbz']);
|
||||
if(isset($_GET['version']) && is_numeric($_GET['version']))
|
||||
$version = $_GET['version'];
|
||||
else
|
||||
@@ -141,11 +123,13 @@ else
|
||||
|
||||
$output = (isset($_GET['output'])?$_GET['output']:'odt');
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
//Berechtigung pruefen
|
||||
if($xsl=='AccountInfo')
|
||||
{
|
||||
$isberechtigt = false;
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
$uids = explode(';',$_GET['uid']);
|
||||
foreach ($uids as $uid)
|
||||
@@ -189,10 +173,41 @@ if($xsl=='AccountInfo')
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif(in_array($xsl,array('Zertifikat','Diplomurkunde','Diplomzeugnis','Bakkurkunde','BakkurkundeEng','Bakkzeugnis',
|
||||
'PrProtokollBakk','PrProtokollDipl','Lehrauftrag','DiplomurkundeEng','Zeugnis','ZeugnisEng','StudienerfolgEng',
|
||||
'Sammelzeugnis','PrProtDiplEng','PrProtBakkEng','BakkzeugnisEng','DiplomzeugnisEng','statusbericht','Uebernahme',
|
||||
'DiplSupplement','Zutrittskarte','Projektbeschr','Ausbildungsver','AusbildStatus','PrProtBA','PrProtMA',
|
||||
'PrProtBAEng','PrProtMAEng','Studienordnung','Erfolgsnachweis','ErfolgsnwHead')))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz'))
|
||||
{
|
||||
echo 'Sie haben keine Berechtigung dieses Dokument zu erstellen';
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif(in_array($xsl,array('Inskription','Studienerfolg','OutgoingLearning','OutgoingChangeL','LearningAgree','Zahlung')))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz'))
|
||||
{
|
||||
echo 'Sie haben keine Berechtigung dieses Dokument zu erstellen';
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif($xsl=='Bestellung')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('wawi/bestellung'))
|
||||
{
|
||||
echo 'Sie haben keine Berechtigung dieses Dokument zu erstellen';
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'unbekanntes Dokument oder keine Berechtigung';
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
//Berechtigung pruefen
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
$xml_url=XML_ROOT.$xml.$params;
|
||||
|
||||
@@ -215,18 +230,6 @@ else
|
||||
|
||||
$vorlage->getAktuelleVorlage($xsl_stg_kz, $xsl, $version);
|
||||
}
|
||||
//$qry = "SELECT text FROM public.tbl_vorlagestudiengang WHERE (studiengang_kz=0";
|
||||
//if($xsl_stg_kz!='')
|
||||
//$qry.=" OR studiengang_kz='".addslashes($xsl_stg_kz)."'";
|
||||
//$qry.=") AND vorlage_kurzbz='$xsl'";
|
||||
//if(isset($version) && $version!='')
|
||||
// $qry.=" AND version='$version'";
|
||||
//$qry.=" ORDER BY studiengang_kz DESC, version DESC LIMIT 1";
|
||||
//echo $qry;
|
||||
//if(!$result = $db->db_query($qry))
|
||||
// die('Fehler beim Laden der Vorlage'.$db->db_last_error());
|
||||
//if(!$row = $db->db_fetch_object($result))
|
||||
// die('Vorlage wurde nicht gefunden'.$qry);
|
||||
|
||||
$xsl_content = $vorlage->text;
|
||||
|
||||
@@ -237,15 +240,10 @@ $nachname='';
|
||||
if(isset($_GET['uid']) && $_GET['uid']!='')
|
||||
{
|
||||
$uid = str_replace(';','',$_GET['uid']);
|
||||
$qry = "SELECT nachname FROM campus.vw_benutzer WHERE uid='".addslashes($uid)."'";
|
||||
$benutzer_obj = new benutzer();
|
||||
if($benutzer_obj->load($uid))
|
||||
$nachname = '_'.convertProblemChars($benutzer_obj->nachname);
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$nachname = '_'.clean_string($row->nachname);
|
||||
}
|
||||
}
|
||||
}
|
||||
$filename=$xsl.$nachname;
|
||||
|
||||
@@ -281,12 +279,35 @@ if (!isset($_REQUEST["archive"]))
|
||||
mkdir($tempfolder);
|
||||
chdir($tempfolder);
|
||||
file_put_contents('content.xml', $buffer);
|
||||
|
||||
|
||||
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
|
||||
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
|
||||
if(isset($_GET['style_xsl']))
|
||||
{
|
||||
$style_xsl=$_GET['style_xsl'];
|
||||
$style_vorlage = new vorlage();
|
||||
$style_vorlage->getAktuelleVorlage($xsl_stg_kz, $style_xsl, $version);
|
||||
$style_xsl_doc = new DOMDocument;
|
||||
if(!$style_xsl_doc->loadXML($style_vorlage->text))
|
||||
die('unable to load xsl');
|
||||
|
||||
// Configure the transformer
|
||||
$style_proc = new XSLTProcessor;
|
||||
$style_proc->importStyleSheet($style_xsl_doc); // attach the xsl rules
|
||||
|
||||
$stylebuffer = $style_proc->transformToXml($xml_doc);
|
||||
|
||||
file_put_contents('styles.xml', $stylebuffer);
|
||||
}
|
||||
|
||||
$zipfile = DOC_ROOT.'system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung;
|
||||
$tempname_zip = 'out.zip';
|
||||
if(copy($zipfile, $tempname_zip))
|
||||
{
|
||||
exec("zip $tempname_zip content.xml");
|
||||
if(isset($_GET['style_xsl']))
|
||||
exec("zip $tempname_zip styles.xml");
|
||||
|
||||
clearstatcache();
|
||||
if($output == 'pdf')
|
||||
{
|
||||
@@ -307,7 +328,17 @@ if (!isset($_REQUEST["archive"]))
|
||||
header('Content-Disposition: attachment; filename="'.$vorlage->vorlage_kurzbz.'.'.$endung.'"');
|
||||
header('Content-Length: '.$fsize);
|
||||
}
|
||||
|
||||
else if($output =='doc')
|
||||
{
|
||||
$tempPdfName = $vorlage->vorlage_kurzbz.'.doc';
|
||||
exec("unoconv -e IsSkipEmptyPages=false --stdout -f doc $tempname_zip > $tempPdfName");
|
||||
|
||||
$fsize = filesize($tempPdfName);
|
||||
$handle = fopen($tempPdfName,'r');
|
||||
header('Content-type: application/vnd.ms-word');
|
||||
header('Content-Disposition: attachment; filename="'.$tempPdfName.'"');
|
||||
header('Content-Length: '.$fsize);
|
||||
}
|
||||
while (!feof($handle))
|
||||
{
|
||||
echo fread($handle, 8192);
|
||||
@@ -315,8 +346,10 @@ if (!isset($_REQUEST["archive"]))
|
||||
fclose($handle);
|
||||
|
||||
unlink('content.xml');
|
||||
if(isset($_GET['style_xsl']))
|
||||
unlink('styles.xml');
|
||||
unlink($tempname_zip);
|
||||
if($output=='pdf')
|
||||
if($output=='pdf' || $output=='doc')
|
||||
unlink($tempPdfName);
|
||||
rmdir($tempfolder);
|
||||
}
|
||||
@@ -373,19 +406,8 @@ else
|
||||
tbl_studentlehrverband.student_uid = tbl_benutzer.uid
|
||||
AND tbl_benutzer.person_id = tbl_person.person_id
|
||||
AND tbl_studentlehrverband.studiengang_kz = tbl_studiengang.studiengang_kz
|
||||
AND tbl_studentlehrverband.student_uid = '".addslashes($uid)."'
|
||||
AND tbl_studentlehrverband.studiensemester_kurzbz = '".addslashes($ss)."'";
|
||||
/* $query = "SELECT
|
||||
tbl_studiengang.studiengang_kz, tbl_prestudentstatus.ausbildungssemester as semester, tbl_studiengang.typ,
|
||||
tbl_studiengang.kurzbz, tbl_person.person_id FROM tbl_person, tbl_benutzer,
|
||||
tbl_studentlehrverband, tbl_prestudentstatus, tbl_studiengang
|
||||
WHERE
|
||||
tbl_prestutendstatus.prestudent_id =
|
||||
tbl_studentlehrverband.student_uid = tbl_benutzer.uid
|
||||
AND tbl_benutzer.person_id = tbl_person.person_id
|
||||
AND tbl_studentlehrverband.studiengang_kz = tbl_studiengang.studiengang_kz
|
||||
AND tbl_studentlehrverband.student_uid = '".addslashes($uid)."'
|
||||
AND tbl_studentlehrverband.studiensemester_kurzbz = '".addslashes($ss)."'"; */
|
||||
AND tbl_studentlehrverband.student_uid = ".$db->db_add_param($uid)."
|
||||
AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($ss);
|
||||
|
||||
if($result = $db->db_query($query))
|
||||
{
|
||||
|
||||
@@ -144,30 +144,6 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
||||
}
|
||||
}
|
||||
|
||||
// ***
|
||||
function clean_string($string)
|
||||
{
|
||||
$trans = array("ä" => "ae",
|
||||
"Ä" => "Ae",
|
||||
"ö" => "oe",
|
||||
"Ö" => "Oe",
|
||||
"ü" => "ue",
|
||||
"Ü" => "Ue",
|
||||
"á" => "a",
|
||||
"à" => "a",
|
||||
"é" => "e",
|
||||
"è" => "e",
|
||||
"ó" => "o",
|
||||
"ò" => "o",
|
||||
"í" => "i",
|
||||
"ì" => "i",
|
||||
"ù" => "u",
|
||||
"ú" => "u",
|
||||
"ß" => "ss");
|
||||
$string = strtr($string, $trans);
|
||||
return ereg_replace("[^a-zA-Z0-9]", "", $string);
|
||||
//[:space:]
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/authentication.class.php');
|
||||
require_once('betriebsmittelperson.class.php');
|
||||
require_once(dirname(__FILE__).'/betriebsmittelperson.class.php');
|
||||
|
||||
// Auth: Benutzer des Webportals
|
||||
/**
|
||||
@@ -122,31 +122,6 @@ function check_lektor($uid)
|
||||
return 0;
|
||||
}
|
||||
|
||||
function check_lektor_lehreinheit($uid, $lehreinheit_id)
|
||||
{
|
||||
$db = new basis_db();
|
||||
|
||||
// uid von View 'Lektor' holen
|
||||
$sql_query="SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE mitarbeiter_uid='".addslashes($uid)."' AND lehreinheit_id = '".addslashes($lehreinheit_id)."'";
|
||||
//echo $sql_query;
|
||||
if($db->db_query($sql_query))
|
||||
{
|
||||
|
||||
$num_rows = $db->db_num_rows();
|
||||
// Wenn kein ergebnis return 0 sonst ID
|
||||
if ($num_rows>0)
|
||||
{
|
||||
$row = $db->db_fetch_object();
|
||||
return $row->mitarbeiter_uid;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$db = new basis_db();
|
||||
|
||||
@@ -75,7 +75,7 @@ class studiengang extends basis_db
|
||||
if(!is_null($studiengang_kz))
|
||||
$this->load($studiengang_kz);
|
||||
|
||||
$this->getAllTypes();
|
||||
//$this->getAllTypes();
|
||||
/* $this->studiengang_typ_arr["b"] = "Bachelor";
|
||||
$this->studiengang_typ_arr["d"] = "Diplom";
|
||||
$this->studiengang_typ_arr["m"] = "Master";
|
||||
@@ -83,6 +83,19 @@ class studiengang extends basis_db
|
||||
$this->studiengang_typ_arr["e"] = "Erhalter"; */
|
||||
}
|
||||
|
||||
public function __get($value)
|
||||
{
|
||||
switch($value)
|
||||
{
|
||||
case 'studiengang_typ_arr':
|
||||
if(count($this->studiengang_typ_arr)==0)
|
||||
{
|
||||
$this->getAllTypes();
|
||||
}
|
||||
}
|
||||
return $this->$value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Studiengang
|
||||
* @param studiengang_kz KZ des Studienganges der zu Laden ist
|
||||
|
||||
@@ -406,7 +406,7 @@ class zeugnisnote extends basis_db
|
||||
tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung, tbl_lehrveranstaltung.lvnr
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
LEFT JOIN lehre.tbl_zeugnisnote ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND student_uid=".$this->db_add_param($student_uid).")
|
||||
LEFT JOIN lehre.tbl_zeugnisnote ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=".$this->db_add_param($student_uid)." AND tbl_zeugnisnote.studiensemester_kurzbz IN(".$stsem."))
|
||||
LEFT JOIN lehre.tbl_studienplan_lehrveranstaltung ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id AND tbl_studienplan_lehrveranstaltung.studienplan_id=".$this->db_add_param($studienplan_id).")
|
||||
LEFT JOIN lehre.tbl_note USING(note)
|
||||
WHERE
|
||||
|
||||
@@ -62,8 +62,8 @@ $db = new basis_db();
|
||||
// Studienjahr ermitteln
|
||||
if(isset($_GET['ss']))
|
||||
$studiensemester_kurzbz = $_GET['ss'];
|
||||
else
|
||||
$studiensemester_kurzbz = $semester_aktuell;
|
||||
else
|
||||
die('Parameter SS fehlt');
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester_kurzbz2 = $studiensemester->getStudienjahrStudiensemester($studiensemester_kurzbz);
|
||||
@@ -109,8 +109,8 @@ $db = new basis_db();
|
||||
|
||||
$student_studienjahr = round($ausbildungssemester/2);
|
||||
|
||||
$jahr1=mb_substr($studiensemester_kurzbz,1);
|
||||
$jahr2=mb_substr($studiensemester_kurzbz2,1);
|
||||
$jahr1=mb_substr($studiensemester_kurzbz,2);
|
||||
$jahr2=mb_substr($studiensemester_kurzbz2,2);
|
||||
$studienjahr = ($jahr1>$jahr2?$jahr2.'/'.$jahr1:$jahr1.'/'.$jahr2);
|
||||
|
||||
$studiengang = new studiengang();
|
||||
@@ -218,11 +218,20 @@ function getLVRow($obj)
|
||||
|
||||
$wochen = $studienplan->semesterwochen;
|
||||
|
||||
$stsem_kurz = mb_substr($row->studiensemester_kurzbz,0,2);
|
||||
if($stsem_kurz=='')
|
||||
{
|
||||
// Das Studiensemester kommt aus der Note, wenn keine Note vorhanden ist,
|
||||
// wird SS und WS aufgrund der Semesterzuteilung der LV ermittelt
|
||||
// TODO passt nicht wenn studiengang im Sommersemester startet
|
||||
$stsem_kurz= ($row->studienplan_lehrveranstaltung_semester%2==0?'SS':'WS');
|
||||
}
|
||||
|
||||
$xml .= "\n <unterrichtsfach>";
|
||||
$xml .= "\n <bezeichnung><![CDATA[".$bezeichnung."]]></bezeichnung>";
|
||||
$xml .= "\n <bezeichnung_englisch><![CDATA[".$bezeichnung_englisch."]]></bezeichnung_englisch>";
|
||||
$xml .= "\n <lvnr>".$row->lehrveranstaltung_lvnr."</lvnr>";
|
||||
$xml .= "\n <stsem_kurz><![CDATA[".mb_substr($row->studiensemester_kurzbz,0,2)."]]></stsem_kurz>";
|
||||
$xml .= "\n <stsem_kurz><![CDATA[".$stsem_kurz."]]></stsem_kurz>";
|
||||
$xml .= "\n <semester><![CDATA[".$row->studienplan_lehrveranstaltung_semester."]]></semester>";
|
||||
$xml .= "\n <note>".$note."</note>";
|
||||
$xml .= "\n <positiv>".($note_arr[$row->note]['positiv']?'Ja':'Nein')."</positiv>";
|
||||
|
||||
@@ -207,7 +207,7 @@ else
|
||||
{
|
||||
// Ohne die vom Studienplan, da diese sonst doppelt sind
|
||||
$qry.=" AND NOT EXISTS (SELECT 1 FROM lehre.tbl_studienplan_lehrveranstaltung where studienplan_id in (".$db->db_implode4SQL($stp_ids).")
|
||||
AND lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)";
|
||||
AND lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_lehrveranstaltung.aktiv)";
|
||||
}
|
||||
//$qry = 'SELECT distinct on(lehrveranstaltung_id) * FROM ('.$qry.' ORDER BY studienplan_id DESC) a';
|
||||
}
|
||||
|
||||
+4
-8
@@ -1,10 +1,6 @@
|
||||
AuthBasicProvider ldap
|
||||
AuthName "Technikum-Wien"
|
||||
AuthName "FHComplete"
|
||||
AuthType Basic
|
||||
AuthBasicAuthoritative Off
|
||||
AuthLDAPURL "ldap://ldap.technikum-wien.at:389/ou=People,dc=technikum-wien,dc=at?uid?one?objectclass=posixAccount"
|
||||
#AuthLDAPURL "ldap://ldap.technikum-wien.at:389/ou=People,dc=technikum,dc=at?uid?sub?(objectClass=*)"
|
||||
AuthLDAPGroupAttributeIsDN Off
|
||||
AuthLDAPGroupAttribute memberuid
|
||||
Require ldap-group cn=fhadmin,ou=Group,dc=technikum-wien,dc=at
|
||||
require ldap-group cn=hadesadm,ou=Group,dc=technikum-wien,dc=at
|
||||
AuthBasicAuthoritative On
|
||||
AuthLDAPURL "ldap://localhost:389/ou=People,dc=oesi,dc=org?cn"
|
||||
Require valid-user
|
||||
|
||||
@@ -41,6 +41,64 @@ echo '<H2>DB-Updates!</H2>';
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
// **************** Spalte scrumsprint_id Tabelle fue.tbl_projekttask
|
||||
if(!$result = @$db->db_query("SELECT scrumsprint_id FROM fue.tbl_projekttask LIMIT 1;"))
|
||||
{
|
||||
$qry = 'ALTER TABLE fue.tbl_projekttask ADD COLUMN scrumsprint_id bigint;
|
||||
CREATE TABLE fue.tbl_scrumteam
|
||||
(
|
||||
scrumteam_kurzbz character varying(16) NOT NULL,
|
||||
bezeichnung character varying(256),
|
||||
punkteprosprint integer DEFAULT 160,
|
||||
tasksprosprint integer DEFAULT 15,
|
||||
gruppe_kurzbz character varying(32),
|
||||
CONSTRAINT tbl_scrumteam_pkey PRIMARY KEY (scrumteam_kurzbz)
|
||||
)
|
||||
WITH (
|
||||
OIDS=FALSE
|
||||
);
|
||||
CREATE TABLE fue.tbl_scrumsprint
|
||||
(
|
||||
|
||||
scrumsprint_id serial NOT NULL,
|
||||
scrumteam_kurzbz character varying(16) NOT NULL,
|
||||
sprint_kurzbz character varying(32),
|
||||
sprintstart date,
|
||||
sprintende date,
|
||||
insertamum Timestamp DEFAULT now(),
|
||||
insertvon Character varying(32),
|
||||
updateamum Timestamp DEFAULT now(),
|
||||
updatevon Character varying(32),
|
||||
CONSTRAINT tbl_scrumsprint_pkey PRIMARY KEY (scrumsprint_id),
|
||||
CONSTRAINT fk_scrumsprint_scrumteam FOREIGN KEY (scrumteam_kurzbz)
|
||||
REFERENCES fue.tbl_scrumteam (scrumteam_kurzbz) MATCH SIMPLE
|
||||
ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||
CONSTRAINT uk_scrumteam_sprintkurzbz UNIQUE (scrumteam_kurzbz, sprint_kurzbz)
|
||||
)
|
||||
WITH (
|
||||
OIDS=FALSE
|
||||
);
|
||||
ALTER TABLE fue.tbl_projekttask
|
||||
ADD CONSTRAINT fk_projekttask_scrumsprint FOREIGN KEY (scrumsprint_id)
|
||||
REFERENCES fue.tbl_scrumsprint (scrumsprint_id) MATCH SIMPLE
|
||||
ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
';
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>fue.tbl_projekttask: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' fue.tbl_projekttask: Spalte scrumsprint_id hinzugefuegt!<br>';
|
||||
}
|
||||
|
||||
// tbl_gruppe neues attribut zutrittssystem
|
||||
if(!$result = @$db->db_query("SELECT zutrittssystem from public.tbl_gruppe LIMIT 1;"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_gruppe ADD COLUMN zutrittssystem boolean NOT NULL DEFAULT false;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_gruppe: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_gruppe: Spalte zutrittssystem hinzugefuegt';
|
||||
}
|
||||
|
||||
// ** Studiengangsverwaltung
|
||||
// Tabelle Studienordnung
|
||||
@@ -1429,6 +1487,23 @@ if(!$result = @$db->db_query("SELECT pruefungsanmeldung_id FROM lehre.tbl_pruefu
|
||||
echo 'lehre.tbl_pruefung: Spalte pruefungsanmeldung_id hinzugefuegt';
|
||||
}
|
||||
|
||||
// Indizes für Tabelle Reservierung
|
||||
if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_reservierung_datum'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
|
||||
$qry = "CREATE INDEX idx_reservierung_datum ON campus.tbl_reservierung USING btree (datum);
|
||||
CREATE INDEX idx_reservierung_ort ON campus.tbl_reservierung USING btree (ort_kurzbz);
|
||||
CREATE INDEX idx_reservierung_stunde ON campus.tbl_reservierung USING btree (stunde);";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>Indizes: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'Diverse Indizes fuer Tabelle Reservierung hinzugefügt';
|
||||
}
|
||||
}
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
|
||||
@@ -274,6 +274,31 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="PLegend" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false" fo:keep-with-next="always"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="5.5pt" fo:font-weight="bold" style:font-size-asian="5.5pt" style:font-weight-asian="bold" style:font-size-complex="5.5pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="PLegendEmpty" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false" fo:keep-with-next="always"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="6pt" fo:font-weight="normal" style:font-size-asian="6pt" style:font-weight-asian="normal" style:font-size-complex="6pt" style:font-weight-complex="normal"/>
|
||||
</style:style>
|
||||
<style:style style:name="PDatumOrt" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false" fo:keep-with-next="always"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="10pt" fo:font-weight="bold" style:font-size-asian="10pt" style:font-weight-asian="bold" style:font-size-complex="10pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="PTabEmpty" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false" fo:keep-with-next="always"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="12pt" style:font-size-asian="10.5pt" style:font-size-complex="12pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="PTabStgl" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false" fo:keep-with-next="always"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="10pt" fo:font-weight="bold" style:font-size-asian="10pt" style:font-weight-asian="bold" style:font-size-complex="10pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="PTabStglUnten" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false" fo:keep-with-next="always"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
|
||||
</office:automatic-styles>
|
||||
<office:body>
|
||||
<xsl:apply-templates select="zeugnis"/>
|
||||
@@ -372,58 +397,36 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P3"/>
|
||||
<text:p text:style-name="P10">Legende: WS=Wintersemester, SS=Sommersemester, SWS=Semesterwochenstunden, LV-Art=Lehrveranstaltungsart, VO=Vorlesung, UE=Übung, BP=Praktikum, SE=Seminar, EX=Exkursion, PT=Projekt, AWPF=Wahlpflichtfach, RU=Rechenübung, ILV=integr. LV, LB=Laborübung, PS=Proseminar, WK=Workshop, WA=Wiss. Arbeit, WP=Wirtschaftspraktikum, MT=Managementtechniken, MODUL=gemeinsame Bewertung mehrerer Lehrveranstaltungen mit einer Modulnote</text:p>
|
||||
<text:p text:style-name="P10"/>
|
||||
<text:p text:style-name="P10">1 SWS=15 Lehrveranstaltungsstunden, m.E.tg.=mit Erfolg teilgenommen, o.E.tg.=ohne Erfolg teilgenommen</text:p>
|
||||
<text:p text:style-name="P10">Nationale Beurteilung: 1=Sehr Gut, 2=Gut, 3=Befriedigend, 4=Genügend, 5=Nicht Genügend</text:p>
|
||||
<text:p text:style-name="P10">Internationale Beurteilung (ECTS Notenskala): A/B=Sehr Gut, C=Gut, D=Befriedigend, E=Genügend, F=Nicht Genügend</text:p>
|
||||
<text:p text:style-name="P9"/>
|
||||
<text:p text:style-name="P9"/>
|
||||
<text:p text:style-name="P4">Pinkafeld, am <xsl:value-of select="datum_aktuell"/></text:p>
|
||||
<text:p text:style-name="PLegend"><text:soft-page-break/>Legende: WS=Wintersemester, SS=Sommersemester, SWS=Semesterwochenstunden, LV-Art=Lehrveranstaltungsart, VO=Vorlesung, UE=Übung, BP=Praktikum, SE=Seminar, EX=Exkursion, PT=Projekt, AWPF=Wahlpflichtfach, RU=Rechenübung, ILV=integr. LV, LB=Laborübung, PS=Proseminar, WK=Workshop, WA=Wiss. Arbeit, WP=Wirtschaftspraktikum, MT=Managementtechniken, MODUL=gemeinsame Bewertung mehrerer Lehrveranstaltungen mit einer Modulnote</text:p>
|
||||
<text:p text:style-name="PLegend"/>
|
||||
<text:p text:style-name="PLegend">1 SWS=15 Lehrveranstaltungsstunden, m.E.tg.=mit Erfolg teilgenommen, o.E.tg.=ohne Erfolg teilgenommen</text:p>
|
||||
<text:p text:style-name="PLegend">Nationale Beurteilung: 1=Sehr Gut, 2=Gut, 3=Befriedigend, 4=Genügend, 5=Nicht Genügend</text:p>
|
||||
<text:p text:style-name="PLegend">Internationale Beurteilung (ECTS Notenskala): A/B=Sehr Gut, C=Gut, D=Befriedigend, E=Genügend, F=Nicht Genügend</text:p>
|
||||
<text:p text:style-name="PLegendEmpty"/>
|
||||
<text:p text:style-name="PLegendEmpty"/>
|
||||
<text:p text:style-name="PDatumOrt">Pinkafeld, am <xsl:value-of select="datum_aktuell"/></text:p>
|
||||
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
|
||||
<table:table-column table:style-name="Tabelle2.A"/>
|
||||
<table:table-column table:style-name="Tabelle2.B"/>
|
||||
<text:soft-page-break/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P13"/>
|
||||
<text:p text:style-name="PTabEmpty"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.B1" office:value-type="string">
|
||||
<text:p text:style-name="P5"><xsl:value-of select="studiengangsleiter"/></text:p>
|
||||
<text:p text:style-name="PTabStgl"><xsl:value-of select="studiengangsleiter"/></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P13"/>
|
||||
<text:p text:style-name="PTabEmpty"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P8">Leitung Fachhochschul-Studiengang</text:p>
|
||||
<text:p text:style-name="PTabStglUnten">Leitung Fachhochschul-Studiengang</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P7"/>
|
||||
<text:p text:style-name="P7">
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
</text:p>
|
||||
<text:p text:style-name="P7">
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
<text:tab/>
|
||||
</text:p>
|
||||
<text:p text:style-name="PLegendEmpty"/>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
@@ -205,7 +205,22 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="MP1"/>
|
||||
<text:p text:style-name="MP1"/>
|
||||
<text:p text:style-name="MP1">Erfolgsnachweis</text:p>
|
||||
<text:p text:style-name="MP2">Fachhochschul-Masterstudiengang <xsl:value-of select="studiengang" /></text:p>
|
||||
<text:p text:style-name="MP2">
|
||||
<xsl:choose>
|
||||
<xsl:when test="studiengang_typ='b'" >
|
||||
Fachhochschul-Bachelorstudiengang
|
||||
</xsl:when>
|
||||
<xsl:when test="studiengang_typ='m'" >
|
||||
Fachhochschul-Masterstudiengang
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
Fachhochschul-Studiengang
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:value-of select="studiengang" />
|
||||
|
||||
</text:p>
|
||||
<text:p text:style-name="MP2"/>
|
||||
<text:p text:style-name="MP3">Studienjahr <xsl:value-of select="studienjahr" /></text:p>
|
||||
<text:p text:style-name="MP4"/>
|
||||
|
||||
@@ -544,29 +544,6 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
||||
}
|
||||
}
|
||||
|
||||
function clean_string($string)
|
||||
{
|
||||
$trans = array("ä" => "ae",
|
||||
"Ä" => "Ae",
|
||||
"ö" => "oe",
|
||||
"Ö" => "Oe",
|
||||
"ü" => "ue",
|
||||
"Ü" => "Ue",
|
||||
"á" => "a",
|
||||
"à" => "a",
|
||||
"é" => "e",
|
||||
"è" => "e",
|
||||
"ó" => "o",
|
||||
"ò" => "o",
|
||||
"í" => "i",
|
||||
"ì" => "i",
|
||||
"ù" => "u",
|
||||
"ú" => "u",
|
||||
"ß" => "ss");
|
||||
$string = strtr($string, $trans);
|
||||
return ereg_replace("[^a-zA-Z0-9]", "", $string);
|
||||
//[:space:]
|
||||
}
|
||||
|
||||
if($studiensemester_kurzbz == '')
|
||||
{
|
||||
|
||||
@@ -336,13 +336,14 @@ if($method!='')
|
||||
$benutzer->uid = $uid;
|
||||
$benutzer->person_id = $inc->person_id;
|
||||
$benutzer->aktiv = true;
|
||||
$benutzer->aktivierungscode=generateActivationKey();
|
||||
|
||||
$nachname_clean = mb_strtolower(convertProblemChars($person->nachname));
|
||||
$vorname_clean = mb_strtolower(convertProblemChars($person->vorname));
|
||||
$nachname_clean = str_replace(' ','_', $nachname_clean);
|
||||
$vorname_clean = str_replace(' ','_', $vorname_clean);
|
||||
|
||||
$qry_alias = "SELECT * FROM public.tbl_benutzer WHERE alias=LOWER('".$vorname_clean.".".$nachname_clean."')";
|
||||
$qry_alias = "SELECT * FROM public.tbl_benutzer WHERE alias=LOWER(".$db->db_add_param($vorname_clean.".".$nachname_clean).")";
|
||||
$result_alias = $db->db_query($qry_alias);
|
||||
if($db->db_num_rows($result_alias)==0)
|
||||
$benutzer->alias =$vorname_clean.'.'.$nachname_clean;
|
||||
@@ -1125,7 +1126,7 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
||||
|
||||
$matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz);
|
||||
|
||||
$qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE '$matrikelnummer%' ORDER BY matrikelnr DESC LIMIT 1";
|
||||
$qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE '".$db->db_escape($matrikelnummer)."%' ORDER BY matrikelnr DESC LIMIT 1";
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
@@ -1144,30 +1145,4 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function clean_string($string)
|
||||
{
|
||||
$trans = array("ä" => "ae",
|
||||
"Ä" => "Ae",
|
||||
"ö" => "oe",
|
||||
"Ö" => "Oe",
|
||||
"ü" => "ue",
|
||||
"Ü" => "Ue",
|
||||
"á" => "a",
|
||||
"à" => "a",
|
||||
"é" => "e",
|
||||
"è" => "e",
|
||||
"ó" => "o",
|
||||
"ò" => "o",
|
||||
"í" => "i",
|
||||
"ì" => "i",
|
||||
"ù" => "u",
|
||||
"ú" => "u",
|
||||
"ß" => "ss");
|
||||
$string = strtr($string, $trans);
|
||||
return ereg_replace("[^a-zA-Z0-9]", "", $string);
|
||||
//[:space:]
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user