diff --git a/include/content.class.php b/include/content.class.php index b8dc0c243..d00474093 100644 --- a/include/content.class.php +++ b/include/content.class.php @@ -1393,16 +1393,30 @@ class content extends basis_db NOT EXISTS(SELECT * FROM campus.tbl_contentsprache WHERE content_id=".$this->db_add_param($id, FHC_INTEGER)." - AND sprache=".$this->db_add_param($sprache).")))"; + AND sprache=".$this->db_add_param($sprache); + $qry.=")))"; if($sichtbar) $qry.=" AND sichtbar=true"; //Hoechste (sichtbare) Version - $qry.=" AND version=(SELECT max(version) FROM campus.tbl_contentsprache + $qry.=" AND (version=(SELECT max(version) FROM campus.tbl_contentsprache WHERE content_id=".$this->db_add_param($id, FHC_INTEGER); - //." AND tbl_contentsprache.sprache=".$this->db_add_param($sprache); + $qry.=" AND tbl_contentsprache.sprache=".$this->db_add_param($sprache); if($sichtbar) $qry.=" AND sichtbar=true"; - $qry.=")"; + $qry.=") + OR + ((SELECT max(version) FROM campus.tbl_contentsprache + WHERE content_id=".$this->db_add_param($id, FHC_INTEGER); + $qry.=" AND tbl_contentsprache.sprache=".$this->db_add_param($sprache); + if($sichtbar) + $qry.=" AND sichtbar=true"; + $qry.=") is null + AND version = (SELECT max(version) FROM campus.tbl_contentsprache + WHERE content_id=".$this->db_add_param($id, FHC_INTEGER); + $qry.=" AND tbl_contentsprache.sprache=".$this->db_add_param(DEFAULT_LANGUAGE); + if($sichtbar) + $qry.=" AND sichtbar=true"; + $qry.=")))"; } if($result = $this->db_query($qry)) diff --git a/include/tw/generateuid.inc.php b/include/tw/generateuid.inc.php index 4e7167513..e6d1e92d7 100644 --- a/include/tw/generateuid.inc.php +++ b/include/tw/generateuid.inc.php @@ -19,68 +19,92 @@ * Andreas Oesterreicher and * Rudolf Hangl . */ +/** + * Funktionen zum Generieren der UIDs + */ +require_once(dirname(__FILE__).'/../addon.class.php'); +// die aktiven Addons werden durchsucht, ob eines davon eine eigene UID Generierung vorsieht +// falls ja, wird die Version des Addons genommen, ansonsten die Default Generierung +$generateuid_addon_found=false; +$generateuid_addons = new addon(); - -// **** -// * Generiert die UID -// * FORMAT: el07b001 -// * $stgkzl: el = studiengangskuerzel -// * $jahr: 07 = Jahr -// * $stgtyp: b/m/d/x = Bachelor/Master/Diplom/Incomming -// * $matrikelnummer -// * 001 = Laufende Nummer Wenn StSem==SS dann wird zur Nummer 500 dazugezaehlt -// * Bei Incoming im Masterstudiengang wird auch 500 dazugezaehlt -// **** -function generateUID($stgkzl,$jahr, $stgtyp, $matrikelnummer) +foreach($generateuid_addons->aktive_addons as $addon) { - $art = mb_substr($matrikelnummer, 2, 1); - $nr = mb_substr($matrikelnummer, mb_strlen(trim($matrikelnummer))-3); - if($art=='2') //Sommersemester - $nr = $nr+500; - elseif($art=='0' && $stgtyp=='m') //Incoming im Masterstudiengang - $nr = $nr+500; - elseif($art=='4' && $stgtyp=='l') // Lehrgangsteilnehmer im Sommersemester - $nr = $nr+500; - - - return mb_strtolower($stgkzl.$jahr.($art!='0'?$stgtyp:'x').$nr); + $generateuid_addon_filename = dirname(__FILE__).'/../../addons/'.$addon.'/vilesci/generateuid.inc.php'; + + if(file_exists($generateuid_addon_filename)) + { + include($generateuid_addon_filename); + $generateuid_addon_found=true; + break; + } } -// **** -// * Gerneriert die Mitarbeiter UID -// **** -function generateMitarbeiterUID($vorname, $nachname, $lektor) + +if(!$generateuid_addon_found) { - $bn = new benutzer(); - $reserviert = array(); - // Das File aliases enthaelt die Mailverteiler haendisch gewarteten Mailverteiler die nicht - // in der FHC Datenbank vorhanden sind. - // Diese duerfen nicht als UID verwendet werden, da es sonst zu Konflikten kommt - $aliases = file_get_contents(DOC_ROOT.'../system/aliases'); - $aliases = explode("\n",$aliases); - foreach($aliases as $alias) + // **** + // * Generiert die UID + // * FORMAT: el07b001 + // * $stgkzl: el = studiengangskuerzel + // * $jahr: 07 = Jahr + // * $stgtyp: b/m/d/x = Bachelor/Master/Diplom/Incomming + // * $matrikelnummer + // * 001 = Laufende Nummer Wenn StSem==SS dann wird zur Nummer 500 dazugezaehlt + // * Bei Incoming im Masterstudiengang wird auch 500 dazugezaehlt + // **** + function generateUID($stgkzl,$jahr, $stgtyp, $matrikelnummer) { - if(!strstr($alias,'#')) - { - $entry = preg_split("/[\s:]+/", $alias); - if($entry[0]!='') - $reserviert[]=$entry[0]; - } + $art = mb_substr($matrikelnummer, 2, 1); + $nr = mb_substr($matrikelnummer, mb_strlen(trim($matrikelnummer))-3); + if($art=='2') //Sommersemester + $nr = $nr+500; + elseif($art=='0' && $stgtyp=='m') //Incoming im Masterstudiengang + $nr = $nr+500; + elseif($art=='4' && $stgtyp=='l') // Lehrgangsteilnehmer im Sommersemester + $nr = $nr+500; + + + return mb_strtolower($stgkzl.$jahr.($art!='0'?$stgtyp:'x').$nr); } - for($nn=8,$vn=0;$nn!=0;$nn--,$vn++) + // **** + // * Gerneriert die Mitarbeiter UID + // **** + function generateMitarbeiterUID($vorname, $nachname, $lektor) { - $uid = mb_substr($nachname,0,$nn); - $uid .= mb_substr($vorname,0,$vn); + $bn = new benutzer(); + $reserviert = array(); - $uid = mb_str_replace(' ','',$uid); - $uid = mb_str_replace('-','',$uid); - - if(!$bn->uid_exists($uid) && !in_array($uid, $reserviert)) - if($bn->errormsg=='') - return $uid; + // Das File aliases enthaelt die Mailverteiler haendisch gewarteten Mailverteiler die nicht + // in der FHC Datenbank vorhanden sind. + // Diese duerfen nicht als UID verwendet werden, da es sonst zu Konflikten kommt + $aliases = file_get_contents(DOC_ROOT.'../system/aliases'); + $aliases = explode("\n",$aliases); + foreach($aliases as $alias) + { + if(!strstr($alias,'#')) + { + $entry = preg_split("/[\s:]+/", $alias); + if($entry[0]!='') + $reserviert[]=$entry[0]; + } + } + + for($nn=8,$vn=0;$nn!=0;$nn--,$vn++) + { + $uid = mb_substr($nachname,0,$nn); + $uid .= mb_substr($vorname,0,$vn); + + $uid = mb_str_replace(' ','',$uid); + $uid = mb_str_replace('-','',$uid); + + if(!$bn->uid_exists($uid) && !in_array($uid, $reserviert)) + if($bn->errormsg=='') + return $uid; + } } } ?> \ No newline at end of file diff --git a/system/FH-Complete.txp b/system/FH-Complete.txp index 3631b97a1..d96b90b19 100644 --- a/system/FH-Complete.txp +++ b/system/FH-Complete.txp @@ -61741,7 +61741,7 @@ FH Technikum Wien 3.0 2009-04-17T10:15:21.000+01:00 - 2014-02-24T15:25:19.110+01:00 + 2014-02-27T13:07:08.399+01:00 FH-Complete 3.0 <?xml-stylesheet type="text/xsl" href="FHCompleteTDM3PG83.xsl"?> @@ -109153,6 +109153,47 @@ art=tbl_benutzerrolle.art & tbl_rolleberechtigung.art 0 + + {686239AF-C9F1-442C-9CE8-CACC38E201D1} + onlinebewerbung + 0 + {5AE710E5-D26F-40A2-AB60-EE48A17E6B8F} + 0 + 0 + 0 + 0 + 1 + + + + + + + 0 + true + 1 + 0 + onlinebewerbung + 0 + + + + + + + + + + {D64069A5-B04A-490B-B0A2-5144DEA81A2E} + + + + + + + + 0 +