mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Anpassungen Studienordnung; editieren von inaktiven STOs und direktes
erstellen neuer LVs
This commit is contained in:
@@ -548,6 +548,34 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* prüft ob die Studienordnung aktiv ist
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @param int $ausbildungssemester Ausbildungssemester als Zahl
|
||||
*/
|
||||
public function isAktiv($studienordnung_id)
|
||||
{
|
||||
if(!is_numeric($studienordnung_id))
|
||||
{
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows() >= 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* lädt alle zugeordneten Semester einer Studienordnung
|
||||
* @param int $studienordnung_id ID der Studienordnung
|
||||
@@ -644,13 +672,13 @@ class studienordnung extends basis_db
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->getTimestamp($studiensemester_kurzbz);
|
||||
|
||||
var_dump($this);
|
||||
$semGueltigVon = $studiensemester->begin->start;
|
||||
//$semGueltigBis = $studiensemester->ende->ende;
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->getTimestamp($this->gueltigvon);
|
||||
|
||||
var_dump($studiensemester);
|
||||
$stoGueltigVon = $studiensemester->begin->start;
|
||||
|
||||
if($this->gueltigbis != null)
|
||||
@@ -719,5 +747,69 @@ class studienordnung extends basis_db
|
||||
$this->new=false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Studienordnungen zu einem Studiengang der uebergeben wird, die noch nicht aktiv sind
|
||||
* @param $studiengang_kz Kennzahl des Studiengangs
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $semester
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function loadStudienordnungSTGInaktiv($studiengang_kz)
|
||||
{
|
||||
//Pruefen ob studiengang_kz eine gueltige Zahl ist
|
||||
if(!is_numeric($studiengang_kz) || $studiengang_kz === '')
|
||||
{
|
||||
$this->errormsg = 'studiengang_kz muss eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
WHERE
|
||||
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new studienordnung();
|
||||
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->ects = $row->ects;
|
||||
$obj->gueltigvon = $row->gueltigvon;
|
||||
$obj->gueltigbis = $row->gueltigbis;
|
||||
$obj->studiengangbezeichnung = $row->studiengangbezeichnung;
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new = false;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
foreach($this->result as $key => $obj)
|
||||
{
|
||||
if($this->isAktiv($obj->studienordnung_id))
|
||||
{
|
||||
unset($this->result[$key]);
|
||||
}
|
||||
}
|
||||
array_values($this->result);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -730,9 +730,9 @@ class studiensemester extends basis_db
|
||||
if(!isset($this->begin))
|
||||
$this->begin=new stdclass();
|
||||
$this->begin->start=mktime(0,0,0,mb_substr($row->start,5,2),mb_substr($row->start,8,2),mb_substr($row->start,0,4));
|
||||
if(!isset($this->ende))
|
||||
$this->ende=new stdclass();
|
||||
$this->ende->ende=mktime(0,0,0,mb_substr($row->ende,5,2),mb_substr($row->ende,8,2),mb_substr($row->ende,0,4));
|
||||
if(!isset($this->end))
|
||||
$this->end=new stdclass();
|
||||
$this->end->ende=mktime(0,0,0,mb_substr($row->ende,5,2),mb_substr($row->ende,8,2),mb_substr($row->ende,0,4));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2013 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
* Authors: Stefan Puraner <stefan.puraner@technikum-wien.at>
|
||||
*/
|
||||
header( 'Expires: -1' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Pragma: no-cache' );
|
||||
header('Content-Type: text/html;charset=UTF-8');
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/webservicerecht.class.php');
|
||||
require_once('../../include/studienordnung.class.php');
|
||||
|
||||
$class = $_REQUEST['class'];
|
||||
$method = $_REQUEST['method'];
|
||||
$typ = (isset($_REQUEST['typ'])?$_REQUEST['typ']:'');
|
||||
|
||||
// die einzelnen funktionsparameter werden durchnummeriert mit 0 beginnend:
|
||||
// parameter_0=param0¶meter_1=param1¶meter_3[0]=param3arr0¶meter_3[1]=param3arr1
|
||||
$parameter=array();
|
||||
for($i=0;$i<100;$i++)
|
||||
{
|
||||
if(isset($_REQUEST['parameter_'.$i]))
|
||||
{
|
||||
if($_REQUEST['parameter_'.$i]=="true")
|
||||
$parameter[]=true;
|
||||
elseif($_REQUEST['parameter_'.$i]=="false")
|
||||
$parameter[]=false;
|
||||
elseif($_REQUEST['parameter_'.$i]=="null")
|
||||
$parameter[]=null;
|
||||
else
|
||||
$parameter[]=$_REQUEST['parameter_'.$i];
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
require_once('../../include/'.$class.'.class.php');
|
||||
|
||||
// Berechtigung pruefen
|
||||
$uid = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
$wsrecht = new webservicerecht();
|
||||
if(!$wsrecht->isUserAuthorized($uid, $method, $class))
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang:'.$class.'->'.$method);
|
||||
|
||||
// Funktion aufrufen
|
||||
$obj = new $class();
|
||||
$error=false;
|
||||
|
||||
|
||||
// Bei Save Funktionen werden alle Parameter zugewiesen
|
||||
if(mb_stristr($method,'save'))
|
||||
{
|
||||
|
||||
$loaddata=json_decode($_REQUEST['loaddata'], true);
|
||||
$savedata=json_decode($_REQUEST['savedata'], true);
|
||||
|
||||
if(!$rechte->isBerechtigt('lehre/studienordnung'))
|
||||
{
|
||||
if(!$rechte->isBerechtigt("'lehre/studienordnungInaktiv'"))
|
||||
{
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang.');
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($savedata['studienplan_id']))
|
||||
{
|
||||
$studienordnung = new studienordnung();
|
||||
$studienordnung->getStudienordnungFromStudienplan($savedata['studienplan_id']);
|
||||
if($studienordnung->isAktiv($studienordnung->studienordnung_id))
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang. Studienordnung ist aktiv.');
|
||||
}
|
||||
elseif(isset($loaddata["loadStudienordnung"]))
|
||||
{
|
||||
$studienordnung = new studienordnung();
|
||||
if($studienordnung->isAktiv($loaddata["parameter_0"]))
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang. Studienordnung ist aktiv.');
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(isset($loaddata['method']))
|
||||
{
|
||||
if(!$wsrecht->isUserAuthorized($uid, $loaddata['method']))
|
||||
die('keine Berechtigung');
|
||||
|
||||
// Bearbeiten
|
||||
$loadparameter=array();
|
||||
for($i=0;$i<20;$i++)
|
||||
{
|
||||
$name = 'parameter_'.$i;
|
||||
if(isset($loaddata[$name]))
|
||||
$loadparameter[]=$loaddata[$name];
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
if(!call_user_func_array(array($obj, $loaddata['method']), $loadparameter))
|
||||
{
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Neu
|
||||
$obj->insertvon = $uid;
|
||||
$obj->insertamum = date('Y-m-d H:i:s');
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
// Attribute zuweisen zum Speichern
|
||||
foreach($savedata as $key=>$value)
|
||||
{
|
||||
$obj->$key=$value;
|
||||
}
|
||||
}
|
||||
}
|
||||
$return = '';
|
||||
if(!$error && ($return = call_user_func_array(array($obj, $method), $parameter)))
|
||||
{
|
||||
$data['result']=$obj->cleanResult();
|
||||
$data['return']=$return;
|
||||
$data['error']='false';
|
||||
$data['errormsg']='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['result']='';
|
||||
$data['return']=$return;
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$obj->errormsg;
|
||||
}
|
||||
|
||||
// Daten ausgeben
|
||||
if($typ=='json')
|
||||
echo json_encode($data);
|
||||
elseif($typ=='xml')
|
||||
echo array_to_xml($data);
|
||||
else
|
||||
var_dump($data);
|
||||
?>
|
||||
@@ -146,8 +146,11 @@ echo "
|
||||
</style>
|
||||
</head>
|
||||
<body>";
|
||||
if(!$rechte->isBerechtigt('lehre/studienordnung'))
|
||||
if((!$rechte->isBerechtigt('lehre/studienordnung')) && (!$rechte->isBerechtigt('lehre/studienordnungInaktiv')))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
if($rechte->isBerechtigt('lehre/studienordnungInaktiv'))
|
||||
echo "<script type='text/javascript'>var initSTOs = 'inaktiv';</script>";
|
||||
$stg_arr = $rechte->getStgKz('lehre/studienordnung');
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->loadArray($stg_arr,'typ,kurzbz');
|
||||
|
||||
Reference in New Issue
Block a user