Merge branch 'master' into permissions

This commit is contained in:
Paolo
2018-06-28 14:52:09 +02:00
72 changed files with 655 additions and 381 deletions
+1 -1
View File
@@ -58,7 +58,7 @@ $autoload['packages'] = array();
|
| $autoload['libraries'] = array('user_agent' => 'ua');
*/
$autoload['libraries'] = array('Session', 'AuthLib');
$autoload['libraries'] = array('Session');
/*
| -------------------------------------------------------------------
+4 -2
View File
@@ -90,7 +90,8 @@ $config['navigation_menu']['system/infocenter/InfoCenter/index'] = array(
'freigegeben' => array(
'link' => site_url('system/infocenter/InfoCenter/freigegeben'),
'description' => 'Freigegeben',
'icon' => 'thumbs-up'
'icon' => 'thumbs-up',
'sort' => 1
)
);
@@ -98,6 +99,7 @@ $config['navigation_menu']['system/infocenter/InfoCenter/freigegeben'] = array(
'back' => array(
'link' => site_url('system/infocenter/InfoCenter/index'),
'description' => 'Home',
'icon' => 'angle-left'
'icon' => 'angle-left',
'sort' => 1
)
);
+1 -1
View File
@@ -25,7 +25,7 @@ class MailJob extends Auth_Controller
parent::__construct(array());
// Loads MessageLib
$this->load->library("MessageLib");
$this->load->library('MessageLib');
}
public function sendMessages($numberToSent = null, $numberPerTimeRange = null, $email_time_range = null, $email_from_system = null)
-3
View File
@@ -26,9 +26,6 @@ class Redirect extends FHC_Controller
// Loads config file fhcomplete
$this->config->load('fhcomplete');
// Loads message helper
$this->load->helper('message');
// Loads model MessageTokenModel
$this->load->model('system/MessageToken_model', 'MessageTokenModel');
}
+1 -1
View File
@@ -92,7 +92,7 @@ class ViewMessage extends FHC_Controller
{
$token = $this->input->get('token');
if (empty($token))
if (isEmptyString($token))
{
show_error('no token supplied');
}
+2 -2
View File
@@ -1,9 +1,9 @@
<?php
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Vilesci extends Auth_Controller
{
public function __construct()
{
parent::__construct(
@@ -24,9 +24,6 @@ class CheckUserAuth extends REST_Controller
public function __construct()
{
parent::__construct();
// Loads the authentication library
$this->load->library('AuthLib');
}
/**
+1 -1
View File
@@ -13,7 +13,7 @@ class Test extends REST_Controller
{
parent::__construct();
// Loads return messages
// Loads helper message to manage returning messages
$this->load->helper('message');
}
@@ -23,7 +23,7 @@ class Gemeinde extends APIv1_Controller
{
parent::__construct(array('Gemeinde' => 'basis/gemeinde:rw', 'GemeindeByPlz' => 'basis/gemeinde:r'));
// Load model GemeindeModel
$this->load->model("codex/gemeinde_model", "GemeindeModel");
$this->load->model('codex/gemeinde_model', 'GemeindeModel');
}
/**
@@ -23,7 +23,7 @@ class RtPerson extends APIv1_Controller
{
parent::__construct(array('RtPerson' => 'basis/rtperson:rw'));
// Load model StatusModel
$this->load->model("crm/RtPerson_model", "RtPersonModel");
$this->load->model('crm/RtPerson_model', 'RtPersonModel');
}
/**
@@ -29,7 +29,7 @@ class Studienplan extends APIv1_Controller
)
);
// Load model PersonModel
$this->load->model("organisation/studienplan_model", "StudienplanModel");
$this->load->model('organisation/studienplan_model', 'StudienplanModel');
}
public function getStudienplan()
@@ -23,7 +23,7 @@ class Ort extends APIv1_Controller
{
parent::__construct(array('Ort' => 'basis/ort:rw', 'All' => 'basis/ort:r'));
// Load model OrtModel
$this->load->model("ressource/ort_model", "OrtModel");
$this->load->model('ressource/ort_model', 'OrtModel');
}
/**
+3 -3
View File
@@ -20,9 +20,9 @@ class Statusgrund extends Auth_Controller
)
);
$this->load->model("crm/Status_model", "StatusModel");
$this->load->model("crm/Statusgrund_model", "StatusgrundModel");
$this->load->model("system/Sprache_model", "SpracheModel");
$this->load->model('crm/Status_model', 'StatusModel');
$this->load->model('crm/Statusgrund_model', 'StatusgrundModel');
$this->load->model('system/Sprache_model', 'SpracheModel');
}
public function index()
@@ -25,7 +25,7 @@ class Studienjahr extends Auth_Controller
)
);
$this->load->model("organisation/Studienjahr_model", "StudienjahrModel");
$this->load->model('organisation/Studienjahr_model', 'StudienjahrModel');
}
/**
@@ -25,8 +25,8 @@ class Studiensemester extends Auth_Controller
)
);
$this->load->model("organisation/Studiensemester_model", "StudiensemesterModel");
$this->load->model("organisation/Studienjahr_model", "StudienjahrModel");
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$this->load->model('organisation/Studienjahr_model', 'StudienjahrModel');
}
/**
+4 -4
View File
@@ -11,7 +11,7 @@ class Basic extends CI_Controller
parent::__construct();
$this->load->library(array('rdf'));
$this->load->helper(array('form', 'url'));
$this->load->helper('form');
}
/**
@@ -25,7 +25,7 @@ class Basic extends CI_Controller
$d['content'] = $this->load->view('rdf/basic', $d, true);
$this->load->view('home', $d);
}
/**
* Load Sparql-View
* @return void
@@ -37,7 +37,7 @@ class Basic extends CI_Controller
$d['content'] = $this->load->view('rdf/basic_sparql', $d, true);
$this->load->view('home', $d);
}
/**
* Load foaf-View
* @return void
@@ -60,7 +60,7 @@ class Basic extends CI_Controller
$d['content'] = $this->load->view('rdf/foafmaker', $d, true);
$this->load->view('home', $d);
}
/**
* Load converter View
* @return void
+8 -13
View File
@@ -7,6 +7,8 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
* Provides data to the ajax get calls about the filter
* Accepts ajax post calls to change the filter data
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
* NOTE: extends the FHC_Controller instead of the Auth_Controller because the FilterWidget has its
* own permissions check
*/
class Filters extends FHC_Controller
{
@@ -19,6 +21,10 @@ class Filters extends FHC_Controller
{
parent::__construct();
// Loads authentication helper
// NOTE: needed to load custom filters do not remove!
$this->load->helper('fhcauth');
// Loads the FiltersLib with HTTP GET/POST parameters
$this->_loadFiltersLib();
@@ -209,7 +215,7 @@ class Filters extends FHC_Controller
{
if (!$this->filterslib->isAllowed())
{
$this->_terminateWithJsonError('You are not allowed to access to this content');
$this->terminateWithJsonError('You are not allowed to access to this content');
}
}
@@ -238,18 +244,7 @@ class Filters extends FHC_Controller
}
else // Otherwise an error will be written in the output
{
$this->_terminateWithJsonError('Parameter "'.self::FILTER_PAGE_PARAM.'" not provided!');
$this->terminateWithJsonError('Parameter "'.self::FILTER_PAGE_PARAM.'" not provided!');
}
}
/**
* Terminate the execution of the page after have printed a message encoded to JSON.
* Used directly header and echo to speed up the output before the exit command stops the execution.
*/
private function _terminateWithJsonError($message)
{
header('Content-Type: application/json');
echo json_encode(error($message));
exit;
}
}
+9 -6
View File
@@ -29,12 +29,15 @@ class Messages extends Auth_Controller
$this->load->model('person/Person_model', 'PersonModel');
$this->loadPhrases(array(
'global',
'person',
'lehre',
'ui',
'infocenter'));
$this->loadPhrases(
array(
'global',
'person',
'lehre',
'ui',
'infocenter'
)
);
$this->_setAuthUID(); // sets property uid
}
+3 -6
View File
@@ -29,9 +29,6 @@ class Phrases extends Auth_Controller
// Loads the widget library
$this->load->library('WidgetLib');
// Loads helper message to manage returning messages
$this->load->helper('message');
}
/**
@@ -64,7 +61,7 @@ class Phrases extends Auth_Controller
*/
public function view($phrase_id)
{
if (empty($phrase_id))
if (!is_numeric($phrase_id))
show_error('Invalid phrase_id parameter');
$phrase = $this->phraseslib->getPhrase($phrase_id);
@@ -87,7 +84,7 @@ class Phrases extends Auth_Controller
*/
public function deltext($phrasentext_id, $phrase_id)
{
if (empty($phrasentext_id) || empty($phrase_id))
if (!is_numeric($phrasentext_id) || !is_numeric($phrase_id))
show_error('Invalid phrasentext_id or phrase_id parameter');
$phrase_inhalt = $this->phraseslib->delPhrasentext($phrasentext_id);
@@ -102,7 +99,7 @@ class Phrases extends Auth_Controller
*/
public function edit($phrase_id = null)
{
if (empty($phrase_id)) return;
if (!is_numeric($phrase_id)) return;
$phrase = $this->phraseslib->getPhrase($phrase_id);
if ($phrase->error)
+2 -9
View File
@@ -13,13 +13,6 @@ class UDF extends Auth_Controller
)
);
// Load session library
$this->load->library('session');
// Loads the UDF library
$this->load->library('UDFLib');
//
$this->load->model('person/Person_model', 'PersonModel');
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
}
@@ -90,8 +83,8 @@ class UDF extends Auth_Controller
$validation = $this->_validate($udfs);
$userdata = array(
'person_id' => $udfs['person_id'],
'prestudent_id' => $udfs['prestudent_id']
'person_id' => $this->input->post('person_id'),
'prestudent_id' => $this->input->post('prestudent_id')
);
if (isSuccess($validation))
+5 -5
View File
@@ -25,10 +25,10 @@ class Vorlage extends Auth_Controller
)
);
// Loads the vorlage library
$this->load->library('VorlageLib');
// Loads the vorlage library
$this->load->library('VorlageLib');
// Loads the widget library
// Loads the widget library
$this->load->library('WidgetLib');
}
@@ -61,7 +61,7 @@ class Vorlage extends Auth_Controller
public function view($vorlage_kurzbz = null)
{
if (empty($vorlage_kurzbz)) exit;
if (isEmptyString($vorlage_kurzbz)) exit;
$vorlagentext = $this->vorlagelib->getVorlagetextByVorlage($vorlage_kurzbz);
@@ -78,7 +78,7 @@ class Vorlage extends Auth_Controller
public function edit($vorlage_kurzbz = null)
{
if (empty($vorlage_kurzbz)) exit;
if (isEmptyString($vorlage_kurzbz)) exit;
$vorlage = $this->vorlagelib->getVorlage($vorlage_kurzbz);
@@ -14,9 +14,6 @@ class PrestudentMultiAssign extends Auth_Controller
)
);
// Loads helper message to manage returning messages
$this->load->helper('message');
// Loads the widget library
$this->load->library('WidgetLib');
}
@@ -156,27 +153,27 @@ class PrestudentMultiAssign extends Auth_Controller
// Load model prestudentm_model
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
if ($studiengang == '' || empty($studiengang))
if ($studiengang == '' || isEmptyString($studiengang))
{
$studiengang = null;
}
if ($studiensemester == '' || empty($studiensemester))
if ($studiensemester == '' || isEmptyString($studiensemester))
{
$studiensemester = null;
}
if ($aufnahmegruppe == '' || empty($aufnahmegruppe))
if ($aufnahmegruppe == '' || isEmptyString($aufnahmegruppe))
{
$aufnahmegruppe = null;
}
if ($reihungstest == '' || empty($reihungstest))
if ($reihungstest == '' || isEmptyString($reihungstest))
{
$reihungstest = null;
}
if ($stufe == '' || empty($stufe))
if ($stufe == '' || isEmptyString($stufe))
{
$stufe = null;
}
@@ -22,7 +22,7 @@ class Manager extends Auth_Controller
);
// Load helpers to upload files
$this->load->helper(array('form', 'url'));
$this->load->helper('form');
// Loads the extensions library
$this->load->library('ExtensionsLib');
@@ -163,8 +163,8 @@ class InfoCenter extends Auth_Controller
if (isError($personexists))
show_error($personexists->retval);
if (empty($personexists->retval))
show_error('person does not exist!');
if (!hasData($personexists))
show_error('Person does not exist!');
$origin_page = $this->input->get(self::ORIGIN_PAGE);
if ($origin_page == self::INDEX_PAGE)
@@ -232,7 +232,7 @@ class InfoCenter extends Auth_Controller
$person_id,
'saveformalgep',
array(
empty($akte->retval[0]->titel) ? $akte->retval[0]->bezeichnung : $akte->retval[0]->titel,
isEmptyString($akte->retval[0]->titel) ? $akte->retval[0]->bezeichnung : $akte->retval[0]->titel,
is_null($timestamp) ? 'NULL' : $timestamp
)
);
@@ -288,7 +288,7 @@ class InfoCenter extends Auth_Controller
{
$prestudent_id = $this->input->post('prestudentid');
if (empty($prestudent_id))
if (isEmptyString($prestudent_id))
$result = error('Prestudentid missing');
else
{
@@ -297,14 +297,14 @@ class InfoCenter extends Auth_Controller
$zgv_code = $this->input->post('zgv') === 'null' ? null : $this->input->post('zgv');
$zgvort = $this->input->post('zgvort');
$zgvdatum = $this->input->post('zgvdatum');
$zgvdatum = empty($zgvdatum) ? null : date_format(date_create($zgvdatum), 'Y-m-d');
$zgvdatum = isEmptyString($zgvdatum) ? null : date_format(date_create($zgvdatum), 'Y-m-d');
$zgvnation_code = $this->input->post('zgvnation') === 'null' ? null : $this->input->post('zgvnation');
//zgvmasterdata
$zgvmas_code = $this->input->post('zgvmas') === 'null' ? null : $this->input->post('zgvmas');
$zgvmaort = $this->input->post('zgvmaort');
$zgvmadatum = $this->input->post('zgvmadatum');
$zgvmadatum = empty($zgvmadatum) ? null : date_format(date_create($zgvmadatum), 'Y-m-d');
$zgvmadatum = isEmptyString($zgvmadatum) ? null : date_format(date_create($zgvmadatum), 'Y-m-d');
$zgvmanation_code = $this->input->post('zgvmanation') === 'null' ? null : $this->input->post('zgvmanation');
$result = $this->PrestudentModel->update(
@@ -711,7 +711,12 @@ class InfoCenter extends Auth_Controller
'#', // link
array(), // children
'', // icon
true // expand
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
1 // sort
);
$filtersArray['nichtabgeschickt'] = $this->navigationlib->oneLevel(
@@ -719,7 +724,12 @@ class InfoCenter extends Auth_Controller
'#', // link
array(), // children
'', // icon
true // expand
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
2 // sort
);
$this->_fillFilters($listFiltersSent, $filtersArray['abgeschickt']);
@@ -732,7 +742,12 @@ class InfoCenter extends Auth_Controller
'#', // link
array(), // children
'', // icon
true // expand
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
3 // sort
);
$this->_fillCustomFilters($listCustomFilters, $filtersArray['personal']);
@@ -745,7 +760,12 @@ class InfoCenter extends Auth_Controller
'#', // link
$filtersArray, // children
'', // icon
true // expand
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
10 // sort
)
)
);
@@ -773,7 +793,12 @@ class InfoCenter extends Auth_Controller
$link, // link
array(), // children
'angle-left', // icon
true // expand
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
1 // sort
)
)
);
@@ -823,7 +848,12 @@ class InfoCenter extends Auth_Controller
'#', // link
array(), // children
'', // icon
true // expand
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
15 // sort
);
$this->_fillCustomFilters($listCustomFilters, $filtersArray['children']['personal']);
@@ -836,7 +866,12 @@ class InfoCenter extends Auth_Controller
'#', // link
(isset($filtersArray['children'])?$filtersArray['children']:''), // children
'', // icon
true // expand
true, // expand
null, // subscriptDescription
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
10 // sort
)
)
);
@@ -1177,9 +1212,9 @@ class InfoCenter extends Auth_Controller
$orgform = $prestudentstatus->orgform != '' ? ' ('.$prestudentstatus->orgform.')' : '';
$geschlecht = $person->geschlecht == 'm' ? 'm&auml;nnlich' : 'weiblich';
$geburtsdatum = date('d.m.Y', strtotime($person->gebdatum));
$zgvort = !empty($prestudent->zgvort) ? ' in '.$prestudent->zgvort : '';
$zgvnation = !empty($prestudent->zgvnation_bez) ? ', '.$prestudent->zgvnation_bez : '';
$zgvdatum = !empty($prestudent->zgvdatum) ? ', am '.date_format(date_create($prestudent->zgvdatum), 'd.m.Y') : '';
$zgvort = !isEmptyString($prestudent->zgvort) ? ' in '.$prestudent->zgvort : '';
$zgvnation = !isEmptyString($prestudent->zgvnation_bez) ? ', '.$prestudent->zgvnation_bez : '';
$zgvdatum = !isEmptyString($prestudent->zgvdatum) ? ', am '.date_format(date_create($prestudent->zgvdatum), 'd.m.Y') : '';
$dokumenteNachzureichenMail = $dokumenteMail = array();
//convert documents to array so they can be parsed, and keeping only needed fields
@@ -1192,8 +1227,8 @@ class InfoCenter extends Auth_Controller
foreach ($dokumenteNachzureichen as $dokument)
{
$anmerkung = !empty($dokument->anmerkung) ? ' | Anmerkung: '.$dokument->anmerkung : '';
$nachgereichtam = !empty($dokument->nachgereicht_am) ? ' | wird nachgereicht bis '.date_format(date_create($dokument->nachgereicht_am), 'd.m.Y') : '';
$anmerkung = !isEmptyString($dokument->anmerkung) ? ' | Anmerkung: '.$dokument->anmerkung : '';
$nachgereichtam = !isEmptyString($dokument->nachgereicht_am) ? ' | wird nachgereicht bis '.date_format(date_create($dokument->nachgereicht_am), 'd.m.Y') : '';
$dokumenteNachzureichenMail[] = array('dokument_bezeichnung' => $dokument->dokument_bezeichnung, 'anmerkung' => $anmerkung, 'nachgereicht_am' => $nachgereichtam);
}
@@ -1254,7 +1289,7 @@ class InfoCenter extends Auth_Controller
$receiver = $prestudent->studiengangmail;
if (!empty($receiver))
if (!isEmptyString($receiver))
{
//Freigabeinformationmail sent from default system mail to studiengang mail(s)
$sent = $this->maillib->send('', $receiver, $subject, $email, '', null, null, 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Inhalt vollständig darzustellen.');
+1 -1
View File
@@ -11,7 +11,7 @@ class APIv1_Controller extends REST_Controller
{
parent::__construct();
// Loads return messages
// Loads helper message to manage returning messages
$this->load->helper('message');
// Loads permission lib
+4 -4
View File
@@ -466,9 +466,9 @@ class DB_Model extends FHC_Model
$tmpTable = trim($table);
// Check parameters
if (empty($tmpTable)) return error(FHC_MODEL_ERROR, FHC_MODEL_ERROR);
if (isEmptyString($tmpTable)) return error(FHC_MODEL_ERROR, FHC_MODEL_ERROR);
if (!empty($alias))
if (!isEmptyString($alias))
{
$tmpTable .= ' AS '.$alias;
}
@@ -568,7 +568,7 @@ class DB_Model extends FHC_Model
$result = array();
// String that represents the pgsql array, better if not empty
if (!empty($string))
if (!isEmptyString($string))
{
// Magic convertion
preg_match_all(
@@ -724,7 +724,7 @@ class DB_Model extends FHC_Model
$result = null;
// If the query is empty don't lose time
if (!empty($query))
if (!isEmptyString($query))
{
// If there are parameters to bind to the query
if (is_array($parametersArray) && count($parametersArray) > 0)
+25 -3
View File
@@ -10,13 +10,24 @@ class FHC_Controller extends CI_Controller
/**
* Standard construct for all the controllers
* - initialize the object properties
* - loads the authentication system
* - loads all the helpers that later are always needed
*/
public function __construct()
{
parent::__construct();
// Set _controllerId as null by default
$this->_controllerId = null;
$this->_controllerId = null; // set _controllerId as null by default
// Loads helper message to manage returning messages
$this->load->helper('message');
// Loads helper with generic utility function
$this->load->helper('fhc');
// Loads helper session to manage the php session
$this->load->helper('session');
}
//------------------------------------------------------------------------------------------------------------------
@@ -47,7 +58,7 @@ class FHC_Controller extends CI_Controller
{
$this->_controllerId = $this->input->get(self::FHC_CONTROLLER_ID);
if (!isset($this->_controllerId) || empty($this->_controllerId))
if (!isset($this->_controllerId) || isEmptyString($this->_controllerId))
{
$this->_controllerId = uniqid(); // generate a unique id
// Redirect to the same URL, but giving FHC_CONTROLLER_ID as HTTP GET parameter
@@ -91,6 +102,17 @@ class FHC_Controller extends CI_Controller
$this->_outputJson(error($mixed));
}
/**
* Terminate the execution of the page after have printed a message encoded to JSON.
* Used directly header and echo to speed up the output before the exit command stops the execution.
*/
protected function terminateWithJsonError($message)
{
header('Content-Type: application/json');
echo json_encode(error($message));
exit;
}
//------------------------------------------------------------------------------------------------------------------
// Private methods
-5
View File
@@ -6,8 +6,6 @@ class FHC_Model extends CI_Model
{
/**
* Standard constructor for all the models
* It loads the helper message to manage the values returned by methods
* It loads the permission library
*/
public function __construct()
{
@@ -16,8 +14,5 @@ class FHC_Model extends CI_Model
// Load languages files
$this->lang->load('fhc_model');
$this->lang->load('fhcomplete');
// Load return message helper
$this->load->helper('message');
}
}
-3
View File
@@ -14,9 +14,6 @@ class FS_Model extends FHC_Model
// Load the filesystem library
$this->load->library('FilesystemLib');
// Load return message helper
$this->load->helper('message');
$this->filepath = $filepath;
}
+19
View File
@@ -148,3 +148,22 @@ function loadResource($path, $resources = null, $subdir = false)
}
}
}
/**
* Returns true if the given string is empty
* Empty means that the parameter string is null or made of space, tab, vertical tab, line feed, carriage return
* and form feed characters.
*/
function isEmptyString($string)
{
return ($string == null) || ($string != null && ctype_space($string) === true);
}
/**
* Returns true if the given array is empty
* Empty means that is null, or is not null and it is not an array, or it is an array but without elements
*/
function isEmptyArray($array)
{
return ($array == null) || ($array != null && !is_array($array) || (is_array($array) && count($array) == 0));
}
+1 -1
View File
@@ -61,7 +61,7 @@ if ( ! function_exists('auth'))
function getAuthUID()
{
$ci =& get_instance(); // get CI instance
$ci->load->library('AuthLib'); // load session library
$ci->load->library('AuthLib'); // load authentication library
return $ci->authlib->getUser();
}
+4 -4
View File
@@ -35,7 +35,7 @@ function sendMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerImg = DE
$ci =& get_instance();
$ci->load->library('email');
$ci->load->library('MailLib');
$sanchoHeader_img = 'skin/images/sancho/'. $headerImg;
$sanchoFooter_img = 'skin/images/sancho/sancho_footer.jpg';
@@ -49,7 +49,7 @@ function sendMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerImg = DE
// Set specific mail content into specific content template
$content = _parseMailContent($vorlage_kurzbz, $vorlage_data);
// overall main content data array
$layout = array(
'CID_header' => $cid_header,
@@ -75,14 +75,14 @@ function _parseMailContent($vorlage_kurzbz, $vorlage_data)
{
$ci =& get_instance();
$ci->load->library('VorlageLib');
$result = $ci->vorlagelib->getVorlagetextByVorlage($vorlage_kurzbz);
if (isSuccess($result))
{
// If the text and the subject of the template are not empty
if (is_array($result->retval) && count($result->retval) > 0 &&
!empty($result->retval[0]->text))
!isEmptyString($result->retval[0]->text))
{
// Parses template text
$parsedText = $ci->vorlagelib->parseVorlagetext($result->retval[0]->text, $vorlage_data);
+9 -10
View File
@@ -27,6 +27,8 @@ require_once FHCPATH.'include/authentication.class.php';
class AuthLib extends authentication
{
private $_ci; // CI instance
/**
* Construct
*/
@@ -35,10 +37,7 @@ class AuthLib extends authentication
parent::__construct();
// Gets CI instance
$this->ci =& get_instance();
// Loads helper message to manage returning messages
$this->ci->load->helper('Message');
$this->_ci =& get_instance();
}
/**
@@ -83,9 +82,9 @@ class AuthLib extends authentication
$result = error(false);
// Load model PersonModel
$this->ci->load->model('person/person_model', 'PersonModel');
$this->_ci->load->model('person/person_model', 'PersonModel');
$person = $this->ci->PersonModel->loadWhere(array('zugangscode' => $code));
$person = $this->_ci->PersonModel->loadWhere(array('zugangscode' => $code));
if (hasData($person))
{
@@ -103,9 +102,9 @@ class AuthLib extends authentication
$result = error(false);
// Load model PersonModel
$this->ci->load->model('person/person_model', 'PersonModel');
$this->_ci->load->model('person/person_model', 'PersonModel');
$person = $this->ci->PersonModel->getPersonKontaktByZugangscode($code, $email);
$person = $this->_ci->PersonModel->getPersonKontaktByZugangscode($code, $email);
if (hasData($person))
{
@@ -124,9 +123,9 @@ class AuthLib extends authentication
$finalUserBasicDataByUID = null;
// Load model BenutzerModel
$this->ci->load->model('person/Benutzer_model', 'BenutzerModel');
$this->_ci->load->model('person/Benutzer_model', 'BenutzerModel');
$benutzer = $this->ci->BenutzerModel->load($uid);
$benutzer = $this->_ci->BenutzerModel->load($uid);
if (hasData($benutzer))
{
-3
View File
@@ -33,9 +33,6 @@ class CallerLib
// Gets CI instance
$this->ci =& get_instance();
// Loads helper message to manage returning messages
$this->ci->load->helper('Message');
// Loads permission library
$this->ci->load->library('PermissionLib');
}
-3
View File
@@ -17,9 +17,6 @@ class DmsLib
$this->ci->load->model('content/Dms_model', 'DmsModel');
$this->ci->load->model('content/DmsVersion_model', 'DmsVersionModel');
$this->ci->load->model('content/DmsFS_model', 'DmsFSModel');
// Loads helper message to manage returning messages
$this->ci->load->helper('message');
}
/**
+1 -1
View File
@@ -733,7 +733,7 @@ class ExtensionsLib
);
if (!$_addSoftLinks)
{
log_message('error','Failed to create Symlink to '.$extensionPath.$targetDirectory);
log_message('error', 'Failed to create Symlink to '.$extensionPath.$targetDirectory);
break;
}
}
+12 -23
View File
@@ -86,11 +86,6 @@ class FiltersLib
{
$this->_ci =& get_instance(); // get code igniter instance
// Loads helper message to manage returning messages
$this->_ci->load->helper('message');
// Loads helper session to manage the php session
$this->_ci->load->helper('session');
$this->_filterUniqueId = $this->_getFilterUniqueId($params); // sets the id for the related filter widget
}
@@ -291,7 +286,7 @@ class FiltersLib
$trimedval = trim($query);
// If the given query is valid and the parameter filters is an array
if (!empty($trimedval) && $filters != null && is_array($filters))
if (!isEmptyString($query) && $filters != null && is_array($filters))
{
$where = ''; // starts building the SQL where clause
@@ -303,8 +298,7 @@ class FiltersLib
if ($filtersCounter > 0)
$where .= ' AND '; // if it's NOT the last one
$trimedname = trim($filterDefinition->name);
if (!empty($trimedname)) // if the name of the applied filter is valid
if (!isEmptyString($filterDefinition->name)) // if the name of the applied filter is valid
{
// ...build the condition
$where .= '"'.$filterDefinition->name.'"'.$this->_getDatasetQueryCondition($filterDefinition);
@@ -346,14 +340,13 @@ class FiltersLib
$filterName = $filterJson->name; // always present, used as default
$trimedname = (isset($filterJson->namePhrase)?trim($filterJson->namePhrase):'');
// Filter name from phrases system
if (isset($filterJson->namePhrase) && !empty($trimedname))
if (isset($filterJson->namePhrase) && !isEmptyString($filterJson->namePhrase))
{
// Loads the library to use the phrases system
$this->_ci->load->library('PhrasesLib', array(self::FILTER_PHRASES_CATEGORY));
$tmpFilterNamePhrase = $this->_ci->phraseslib->t(self::FILTER_PHRASES_CATEGORY, $filterJson->namePhrase);
$trimedphrase = (isset($tmpFilterNamePhrase)?trim($tmpFilterNamePhrase):'');
if (isset($tmpFilterNamePhrase) && !empty($trimedphrase)) // if is not null or an empty string
if (isset($tmpFilterNamePhrase) && !isEmptyString($tmpFilterNamePhrase)) // if is not null or an empty string
{
$filterName = $tmpFilterNamePhrase;
}
@@ -395,7 +388,7 @@ class FiltersLib
$removeSelectedField = false;
$trimedval = (isset($selectedField)?trim($selectedField):'');
// Checks the parameter selectedField
if (isset($selectedField) && !empty($trimedval))
if (isset($selectedField) && !isEmptyString($selectedField))
{
// Retrives all the used fields by the current filter
$fields = $this->getElementSession(self::SESSION_FIELDS);
@@ -429,7 +422,7 @@ class FiltersLib
$removeSelectedField = false;
$trimedval = (isset($selectedField)?trim($selectedField):'');
// Checks the parameter selectedField
if (isset($selectedField) && !empty($trimedval))
if (isset($selectedField) && !isEmptyString($selectedField))
{
// Retrives all the used fields by the current filter
$fields = $this->getElementSession(self::SESSION_FIELDS);
@@ -458,7 +451,7 @@ class FiltersLib
$removeAppliedFilter = false;
$trimedval = (isset($appliedFilter)?trim($appliedFilter):'');
// Checks the parameter appliedFilter
if (isset($appliedFilter) && !empty($trimedval))
if (isset($appliedFilter) && !isEmptyString($appliedFilter))
{
// Retrives all the used fields by the current filter
$fields = $this->getElementSession(self::SESSION_FIELDS);
@@ -546,7 +539,7 @@ class FiltersLib
$addFilter = false;
$trimedval = (isset($filter)?trim($filter):'');
// Checks the parameter filter
if (isset($filter) && !empty($trimedval))
if (isset($filter) && !isEmptyString($filter))
{
// Retrives all the used fields by the current filter
$fields = $this->getElementSession(self::SESSION_FIELDS);
@@ -589,7 +582,7 @@ class FiltersLib
$saveCustomFilter = false; // by default returns a failure
$trimedval = (isset($customFilterDescription)?trim($customFilterDescription):'');
// Checks parameter customFilterDescription if not valid stop the execution
if (!isset($customFilterDescription) || empty($trimedval))
if (!isset($customFilterDescription) || isEmptyString($customFilterDescription))
{
return $saveCustomFilter;
}
@@ -706,11 +699,10 @@ class FiltersLib
*/
private function _getFilterUniqueId($params)
{
$trimedval = (isset($params[self::FILTER_PAGE_PARAM])?trim($params[self::FILTER_PAGE_PARAM]):'');
if ($params != null
&& is_array($params)
&& isset($params[self::FILTER_PAGE_PARAM])
&& !empty($trimedval))
&& !isEmptyString($params[self::FILTER_PAGE_PARAM]))
{
$filterUniqueId = $params[self::FILTER_PAGE_PARAM];
}
@@ -742,8 +734,7 @@ class FiltersLib
$condition = ''; // starts building the condition
// "operation" is a required property for the applied filter definition
$trimedval = trim($filterDefinition->operation);
if (!empty($trimedval))
if (!isEmptyString($filterDefinition->operation))
{
// Checks what operation is required
switch ($filterDefinition->operation)
@@ -818,9 +809,7 @@ class FiltersLib
}
// if the condition is valid
$trimedval = trim($condition);
if (!empty($trimedval))
$condition = ' '.$condition; // add a white space before
if (!isEmptyString($condition)) $condition = ' '.$condition; // add a white space before
return $condition;
}
+2 -2
View File
@@ -88,7 +88,7 @@ class MailLib
if (!is_null($recipientBCC)) $this->ci->email->bcc($recipientBCC);
$this->ci->email->subject($subject);
$this->ci->email->message($message);
if (!empty($altMessage)) $this->ci->email->set_alt_message($altMessage);
if (!isEmptyString($altMessage)) $this->ci->email->set_alt_message($altMessage);
// Avoid printing on standard output ugly error messages
$result = @$this->ci->email->send();
@@ -151,7 +151,7 @@ class MailLib
{
$valid = false;
if (!empty($emailAddress))
if (!isEmptyString($emailAddress))
{
$valid = filter_var($emailAddress, FILTER_VALIDATE_EMAIL);
}
+14 -19
View File
@@ -35,11 +35,6 @@ class MessageLib
$this->ci->load->model('system/Recipient_model', 'RecipientModel');
$this->ci->load->model('system/Attachment_model', 'AttachmentModel');
// Loads fhc helper
$this->ci->load->helper('fhc');
// Loads helper message to manage returning messages
$this->ci->load->helper('message');
// Loads phrases
$this->ci->lang->load('message');
}
@@ -49,9 +44,9 @@ class MessageLib
*/
public function getMessage($msg_id, $person_id)
{
if (empty($msg_id))
if (!is_numeric($msg_id))
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
if (empty($person_id))
if (!is_numeric($person_id))
return $this->_error('', MSG_ERR_INVALID_RECIPIENTS);
$msg = $this->ci->RecipientModel->getMessage($msg_id, $person_id);
@@ -64,7 +59,7 @@ class MessageLib
*/
public function getMessagesByUID($uid, $oe_kurzbz = null, $all = false)
{
if (empty($uid))
if (isEmptyString($uid))
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
$msg = $this->ci->RecipientModel->getMessagesByUID($uid, $oe_kurzbz, $all);
@@ -77,7 +72,7 @@ class MessageLib
*/
public function getMessagesByPerson($person_id, $oe_kurzbz = null, $all = false)
{
if (empty($person_id))
if (!is_numeric($person_id))
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
$msg = $this->ci->RecipientModel->getMessagesByPerson($person_id, $oe_kurzbz, $all);
@@ -90,7 +85,7 @@ class MessageLib
*/
public function getSentMessagesByPerson($person_id, $oe_kurzbz = null, $all = false)
{
if (empty($person_id))
if (!is_numeric($person_id))
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
$msg = $this->ci->MessageModel->getMessagesByPerson($person_id, $oe_kurzbz, $all);
@@ -103,7 +98,7 @@ class MessageLib
*/
public function getMessageByToken($token)
{
if (empty($token))
if (isEmptyString($token))
return $this->_error('', MSG_ERR_INVALID_TOKEN);
$result = $this->ci->RecipientModel->getMessageByToken($token);
@@ -160,12 +155,12 @@ class MessageLib
*/
public function updateMessageStatus($message_id, $person_id, $status)
{
if (empty($message_id))
if (!is_numeric($message_id))
{
return $this->_error('', MSG_ERR_INVALID_MSG_ID);
}
if (empty($person_id))
if (!is_numeric($person_id))
{
return $this->_error('', MSG_ERR_INVALID_USER_ID);
}
@@ -227,7 +222,7 @@ class MessageLib
if ($this->_checkReceiverId($receiver_id))
{
// If the text and the subject of the template are not empty
if (!empty($subject) && !empty($body))
if (!isEmptyString($subject) && !isEmptyString($body))
{
$result = $this->_saveMessage($sender_id, $receiver_id, $subject, $body, $relationmessage_id, $oe_kurzbz);
// If no errors were occurred
@@ -244,12 +239,12 @@ class MessageLib
}
else
{
if (empty($subject))
if (isEmptyString($subject))
{
$result = $this->_error('', MSG_ERR_SUBJECT_EMPTY);
break;
}
elseif (empty($body))
elseif (isEmptyString($body))
{
$result = $this->_error('', MSG_ERR_BODY_EMPTY);
break;
@@ -320,7 +315,7 @@ class MessageLib
{
// If the text and the subject of the template are not empty
if (is_array($result->retval) && count($result->retval) > 0 &&
!empty($result->retval[0]->text) && !empty($result->retval[0]->subject))
!isEmptyString($result->retval[0]->text) && !isEmptyString($result->retval[0]->subject))
{
// Parses template text
$parsedText = $this->ci->vorlagelib->parseVorlagetext($result->retval[0]->text, $data);
@@ -354,12 +349,12 @@ class MessageLib
$result = $this->_error('', MSG_ERR_TEMPLATE_NOT_FOUND);
break;
}
elseif (empty($result->retval[0]->text))
elseif (isEmptyString($result->retval[0]->text))
{
$result = $this->_error('', MSG_ERR_INVALID_TEMPLATE);
break;
}
elseif (empty($result->retval[0]->subject))
elseif (isEmptyString($result->retval[0]->subject))
{
$result = $this->_error('', MSG_ERR_INVALID_TEMPLATE);
break;
+1 -8
View File
@@ -32,11 +32,6 @@ class NavigationLib
// Loads navigation configs
$this->_ci->config->load('navigation');
// Loads helper message to manage returning messages
$this->_ci->load->helper('message');
// Loads helper session to manage the php session
$this->_ci->load->helper('session');
// Loads library ExtensionsLib
$this->_ci->load->library('ExtensionsLib');
@@ -305,12 +300,10 @@ class NavigationLib
*/
private function _getNavigationtPage($params)
{
$trimedval = trim($params[self::NAVIGATION_PAGE_PARAM]);
//
if ($params != null
&& is_array($params)
&& isset($params[self::NAVIGATION_PAGE_PARAM])
&& !empty($trimedval))
&& !isEmptyString($params[self::NAVIGATION_PAGE_PARAM]))
{
$navigationPage = $params[self::NAVIGATION_PAGE_PARAM];
}
@@ -13,9 +13,6 @@ class OrganisationseinheitLib
// Loads model Organisationseinheit_model
$this->ci->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
// Loads helper message to manage returning messages
$this->ci->load->helper('Message');
}
/**
+8 -6
View File
@@ -41,6 +41,7 @@ class PermissionLib
const READ_HTTP_METHOD = 'GET';
const WRITE_HTTP_METHOD = 'POST';
private $_ci; // CI instance
private $acl; // conversion array from a source to a permission
private static $bb; // benutzerberechtigung
@@ -51,19 +52,20 @@ class PermissionLib
public function __construct()
{
// Loads CI instance
$this->ci =& get_instance();
// Loads the auth helper
$this->ci->load->helper('fhcauth');
$this->_ci =& get_instance();
// Loads the array of resources
$this->acl = $this->ci->config->item('fhc_acl');
$this->acl = $this->_ci->config->item('fhc_acl');
// Loads authentication library
$this->_ci->load->library('AuthLib');
// If it's NOT called from command line
if (!is_cli())
{
// API Caller rights initialization
self::$bb = new benutzerberechtigung();
self::$bb->getBerechtigungen(getAuthUID());
self::$bb->getBerechtigungen($this->_ci->authlib->getUser());
}
}
+10 -12
View File
@@ -22,9 +22,6 @@ class PhrasesLib
$this->_ci->load->model('system/Phrase_model', 'PhraseModel');
$this->_ci->load->model('system/Phrasentext_model', 'PhrasentextModel');
// Loads helper message to manage returning messages
$this->_ci->load->helper('message');
// Workaround to use more parameters in the construct since PHP doesn't support many constructors
$this->_extend_construct(func_get_args());
}
@@ -37,7 +34,7 @@ class PhrasesLib
*/
public function getPhrase($phrase_id)
{
if (empty($phrase_id)) return error(MSG_ERR_INVALID_MSG_ID);
if (isEmptyString($phrase_id)) return error(MSG_ERR_INVALID_MSG_ID);
return $this->_ci->PhraseModel->load($phrase_id);
}
@@ -55,7 +52,7 @@ class PhrasesLib
*/
public function getPhraseInhalt($phrase_id)
{
if (empty($phrase_id)) return error(MSG_ERR_INVALID_MSG_ID);
if (isEmptyString($phrase_id)) return error(MSG_ERR_INVALID_MSG_ID);
return $this->_ci->PhrasentextModel->loadWhere(array('phrase_id' => $phrase_id));
}
@@ -65,7 +62,7 @@ class PhrasesLib
*/
public function delPhrasentext($phrasentext_id)
{
if (empty($phrasentext_id)) return error(MSG_ERR_INVALID_MSG_ID);
if (isEmptyString($phrasentext_id)) return error(MSG_ERR_INVALID_MSG_ID);
return $this->_ci->PhrasentextModel->delete(array('phrasentext_id' => $phrasentext_id));
}
@@ -75,7 +72,7 @@ class PhrasesLib
*/
public function savePhrase($phrase_id, $data)
{
if (empty($data)) return error(MSG_ERR_INVALID_MSG_ID);
if (isEmptyString($data)) return error(MSG_ERR_INVALID_MSG_ID);
return $this->_ci->PhraseModel->update($phrase_id, $data);
}
@@ -85,7 +82,7 @@ class PhrasesLib
*/
public function getPhrasentextById($phrasentext_id)
{
if (empty($phrasentext_id))
if (isEmptyString($phrasentext_id))
return error($this->_ci->lang->line('fhc_'.FHC_INVALIDID, false));
return $this->_ci->PhrasentextModel->load($phrasentext_id);
@@ -173,7 +170,7 @@ class PhrasesLib
*/
public function parseVorlagetext($text, $data = array())
{
if (empty($text))
if (isEmptyString($text))
return error($this->_ci->lang->line('fhc_'.FHC_INVALIDID, false));
return $this->_ci->parser->parse_string($text, $data, true);
@@ -203,7 +200,7 @@ class PhrasesLib
&& $_phrase->phrase == $phrase
&& $_phrase->orgeinheit_kurzbz == $orgeinheit_kurzbz
&& $_phrase->orgform_kurzbz == $orgform_kurzbz
&& (!empty($trimedval)))
&& !isEmptyString($_phrase->text))
{
if (!is_array($parameters)) $parameters = array(); // if params is not an array
@@ -247,11 +244,12 @@ class PhrasesLib
// Use the given language if present, otherwise retrives the language for the logged user
$language = DEFAULT_LANGUAGE;
if (count($parameters) == 2 && !empty($parameters[1]) && is_string($parameters[1]))
if (count($parameters) == 2 && !isEmptyString($parameters[1]) && is_string($parameters[1]))
{
$language = $parameters[1];
}
else
// Checks if the user is authenticated to retrive the users's language
elseif (function_exists('getAuthUID'))
{
$this->_ci->load->model('person/Person_model', 'PersonModel');
@@ -1814,6 +1814,9 @@ abstract class REST_Controller extends CI_Controller {
return FALSE;
}
// Loads authentication library
$this->load->library('AuthLib');
if (is_callable([$auth_library_class, $auth_library_function]) === FALSE)
{
$this->load->library($auth_library_class);
+5 -6
View File
@@ -53,8 +53,6 @@ class UDFLib
public function __construct()
{
$this->_ci =& get_instance();
$this->_ci->load->helper('fhc');
}
// -------------------------------------------------------------------------------------------------
@@ -65,7 +63,8 @@ class UDFLib
*/
public function UDFWidget($args, $htmlArgs = array())
{
if (!empty($args[UDFLib::SCHEMA_ARG_NAME]) && !empty($args[UDFLib::TABLE_ARG_NAME]))
if ((isset($args[UDFLib::SCHEMA_ARG_NAME]) && !isEmptyString($args[UDFLib::SCHEMA_ARG_NAME]))
&& (isset($args[UDFLib::TABLE_ARG_NAME]) && !isEmptyString($args[UDFLib::TABLE_ARG_NAME])))
{
// Loads the widget library
$this->_ci->load->library('WidgetLib');
@@ -74,7 +73,7 @@ class UDFLib
loadResource(APPPATH.'widgets/udf');
// Default external block is true
if (empty($args[UDFLib::FIELD_ARG_NAME]) && !isset($htmlArgs[HTMLWidget::EXTERNAL_BLOCK]))
if (!isset($args[UDFLib::FIELD_ARG_NAME]) && !isset($htmlArgs[HTMLWidget::EXTERNAL_BLOCK]))
{
$htmlArgs[HTMLWidget::EXTERNAL_BLOCK] = true;
}
@@ -87,11 +86,11 @@ class UDFLib
}
else
{
if (empty($args[UDFLib::SCHEMA_ARG_NAME]))
if (!isset($args[UDFLib::SCHEMA_ARG_NAME]) || isEmptyString($args[UDFLib::SCHEMA_ARG_NAME]))
{
show_error(UDFLib::SCHEMA_ARG_NAME.' parameter is missing!');
}
if (empty($args[UDFLib::TABLE_ARG_NAME]))
if (!isset($args[UDFLib::TABLE_ARG_NAME]) || isEmptyString($args[UDFLib::TABLE_ARG_NAME]))
{
show_error(UDFLib::TABLE_ARG_NAME.' parameter is missing!');
}
+5 -10
View File
@@ -20,11 +20,6 @@ class VorlageLib
$this->ci->load->model('system/Vorlage_model', 'VorlageModel');
$this->ci->load->model('system/Vorlagestudiengang_model', 'VorlageStudiengangModel');
$this->ci->load->helper('language');
// Loads helper message to manage returning messages
$this->ci->load->helper('message');
//$this->ci->lang->load('fhcomplete');
}
/**
@@ -35,7 +30,7 @@ class VorlageLib
*/
public function getVorlage($vorlage_kurzbz)
{
if (empty($vorlage_kurzbz))
if (isEmptyString($vorlage_kurzbz))
return error(MSG_ERR_INVALID_MSG_ID);
$vorlage = $this->ci->VorlageModel->load($vorlage_kurzbz);
@@ -62,7 +57,7 @@ class VorlageLib
*/
public function saveVorlage($vorlage_kurzbz, $data)
{
if (empty($data))
if (isEmptyArray($data))
return error(MSG_ERR_INVALID_MSG_ID);
$vorlage = $this->ci->VorlageModel->update($vorlage_kurzbz, $data);
@@ -77,7 +72,7 @@ class VorlageLib
*/
public function getVorlagetextByVorlage($vorlage_kurzbz)
{
if (empty($vorlage_kurzbz))
if (isEmptyString($vorlage_kurzbz))
return error($this->ci->lang->line('fhc_'.FHC_INVALIDID, false));
$vorlage = $this->ci->VorlageStudiengangModel->loadWhere(array('vorlage_kurzbz' => $vorlage_kurzbz));
@@ -95,7 +90,7 @@ class VorlageLib
*/
public function loadVorlagetext($vorlage_kurzbz, $oe_kurzbz = null, $orgform_kurzbz = null, $sprache = null)
{
if (empty($vorlage_kurzbz))
if (isEmptyString($vorlage_kurzbz))
return error($this->ci->lang->line('fhc_'.FHC_INVALIDID, false));
// Try to search the template with the given vorlage_kurzbz and other parameters if present
@@ -205,7 +200,7 @@ class VorlageLib
*/
public function parseVorlagetext($text, $data = array())
{
if (empty($text))
if (isEmptyString($text))
return error($this->ci->lang->line('fhc_'.FHC_INVALIDID, false));
$text = $this->ci->parser->parse_string($text, $data, true);
return $text;
+84 -88
View File
@@ -4,17 +4,17 @@
* @author Jens Segers
* @link http://www.jenssegers.be
* @license MIT License Copyright (c) 2012 Jens Segers
*
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -30,16 +30,16 @@ class WidgetLib
{
const DIR_HTML_WIDGETS = 'html';
const HTML_WIDGET_NAME = 'HTMLWidget';
/* default values */
private $_template = 'template';
private $_parser = false;
private $_cache_ttl = 0;
private $_widget_path = '';
private $_ci;
private $_partials = array();
/**
* Construct with configuration array. Codeigniter will use the config file otherwise
* @param array $config
@@ -47,23 +47,19 @@ class WidgetLib
public function __construct($config = array())
{
$this->_ci = & get_instance();
$this->_ci->load->helper('fhc');
// Set the default widget path with APPPATH
$this->_widget_path = APPPATH.'widgets/';
// Loads widgets to render HTML elements
// NOTE: the first one to be loaded must be HTMLWidget
loadResource($this->_widget_path.WidgetLib::DIR_HTML_WIDGETS, WidgetLib::HTML_WIDGET_NAME);
loadResource($this->_widget_path.WidgetLib::DIR_HTML_WIDGETS);
if (!empty($config))
$this->initialize($config);
log_message('debug', 'Template library initialized');
// If config are given then initialize this lib with the given config
if (!isEmptyArray($config)) $this->initialize($config);
}
/**
* Initialize with configuration array
* @param array $config
@@ -73,14 +69,14 @@ class WidgetLib
{
foreach ($config as $key => $val)
$this->{'_'.$key} = $val;
if ($this->_widget_path == '')
$this->_widget_path = APPPATH.'widgets/';
if ($this->_parser && !class_exists('CI_Parser'))
$this->_ci->load->library('parser');
}
/**
* Set a partial's content. This will create a new partial when not existing
* @param string $index
@@ -90,7 +86,7 @@ class WidgetLib
{
$this->partial($name)->set($value);
}
/**
* Access to partials for method chaining
* @param string $name
@@ -100,7 +96,7 @@ class WidgetLib
{
return $this->partial($name);
}
/**
* Check if a partial exists
* @param string $index
@@ -110,7 +106,7 @@ class WidgetLib
{
return array_key_exists($index, $this->_partials);
}
/**
* Set the template file
* @param string $template
@@ -119,7 +115,7 @@ class WidgetLib
{
$this->_template = $template;
}
/**
* Publish the template with the current partials
* You can manually pass a template file with extra data, or use the default template from the config file
@@ -136,12 +132,12 @@ class WidgetLib
{
$this->_template = $template;
}
if (!$this->_template)
{
show_error('There was no template file selected for the current template');
}
if (is_array($data) || is_object($data))
{
foreach ($data as $name => $content)
@@ -149,9 +145,9 @@ class WidgetLib
$this->partial($name)->set($content);
}
}
unset($data);
if ($this->_parser)
{
$this->_ci->parser->parse($this->_template, $this->_partials);
@@ -161,7 +157,7 @@ class WidgetLib
$this->_ci->load->view($this->_template, $this->_partials);
}
}
/**
* Create a partial object with an optional default content
* Can be usefull to use straight from the template file
@@ -183,24 +179,24 @@ class WidgetLib
{
$partial->cache($this->_cache_ttl);
}
// detect local triggers
if (method_exists($this, 'trigger_'.$name))
{
$partial->bind($this, 'trigger_'.$name);
}
$this->_partials[$name] = $partial;
}
if (!$partial->content() && $default)
{
$partial->set($default);
}
return $partial;
}
/**
* Create a widget object with optional parameters
* Can be usefull to use straight from the template file
@@ -213,15 +209,15 @@ class WidgetLib
{
// Loads the widget file, trying to find it also in the subdirectories
loadResource($this->_widget_path, $name, true);
if (!class_exists($name))
{
show_error("Widget '".$name."' was not found.");
}
return new $name($name, $data, $htmlArgs);
}
/**
* Enable cache for all partials with TTL, default TTL is 60
* @param int $ttl
@@ -233,10 +229,10 @@ class WidgetLib
{
$partial->cache($ttl, $identifier);
}
$this->_cache_ttl = $ttl;
}
// ---- TRIGGERS -----------------------------------------------------------------
/**
@@ -255,27 +251,27 @@ class WidgetLib
}
return $return;
}
if (!stristr($url, 'http://') && !stristr($url, 'https://') && substr($url, 0, 2) != '//')
{
$url = $this->_ci->config->item('base_url').$url;
}
// legacy support for media
if (is_string($attributes))
{
$attributes = array('media' => $attributes);
}
if (is_array($attributes))
{
$attributeString = "";
foreach ($attributes as $key => $value)
{
$attributeString .= $key.'="'.$value.'" ';
}
return '<link rel="stylesheet" href="'.htmlspecialchars(strip_tags($url)).'" '.$attributeString.'>'."\n\t";
}
else
@@ -283,7 +279,7 @@ class WidgetLib
return '<link rel="stylesheet" href="'.htmlspecialchars(strip_tags($url)).'">'."\n\t";
}
}
/**
* Javascript trigger
* @param string $source
@@ -300,15 +296,15 @@ class WidgetLib
}
return $return;
}
if (!stristr($url, 'http://') && !stristr($url, 'https://') && substr($url, 0, 2) != '//')
{
$url = $this->_ci->config->item('base_url').$url;
}
return '<script src="'.htmlspecialchars(strip_tags($url)).'"></script>'."\n\t";
}
/**
* Meta trigger
* @param string $name
@@ -319,12 +315,12 @@ class WidgetLib
{
$name = htmlspecialchars(strip_tags($name));
$value = htmlspecialchars(strip_tags($value));
if ($name == 'keywords' and !strpos($value, ','))
{
$content = preg_replace('/[\s]+/', ', ', trim($value));
}
switch ($type)
{
case 'meta' :
@@ -334,10 +330,10 @@ class WidgetLib
$content = '<link rel="'.$name.'" href="'.$value.'">'."\n\t";
break;
}
return $content;
}
/**
* Title trigger, keeps it clean
* @param string $name
@@ -348,7 +344,7 @@ class WidgetLib
{
return htmlspecialchars(strip_tags($title));
}
/**
* Title trigger, keeps it clean
* @param string $name
@@ -366,7 +362,7 @@ class Partial
{
protected $_ci, $_content, $_name, $_cache_ttl = 0, $_cached = false, $_identifier, $_trigger;
protected $_args = array();
/**
* Construct with optional parameters
* @param array $args
@@ -377,7 +373,7 @@ class Partial
$this->_args = $args;
$this->_name = $name;
}
/**
* Gives access to codeigniter's functions from this class if needed
* This will be handy in extending classes
@@ -387,7 +383,7 @@ class Partial
{
return $this->_ci->$name;
}
/**
* Alias methods
*/
@@ -403,7 +399,7 @@ class Partial
break;
}
}
/**
* Returns the content when converted to a string
* @return string
@@ -412,7 +408,7 @@ class Partial
{
return (string) $this->content();
}
/**
* Returns the content
* @return string
@@ -423,10 +419,10 @@ class Partial
{
$this->cache->save($this->cache_id(), $this->_content, $this->_cache_ttl);
}
return $this->_content;
}
/**
* Overwrite the content
* @param mixed $content
@@ -438,10 +434,10 @@ class Partial
{
$this->_content = (string) $this->trigger(func_get_args());
}
return $this;
}
/**
* Append something to the content
* @param mixed $content
@@ -453,10 +449,10 @@ class Partial
{
$this->_content .= (string) $this->trigger(func_get_args());
}
return $this;
}
/**
* Prepend something to the content
* @param mixed $content
@@ -468,10 +464,10 @@ class Partial
{
$this->_content = (string) $this->trigger(func_get_args()).$this->_content;
}
return $this;
}
/**
* Set content if partial is empty
* @param mixed $default
@@ -486,10 +482,10 @@ class Partial
$this->_content = $default;
}
}
return $this;
}
/**
* Load a view inside this partial, overwrite if wanted
* @param string $view
@@ -511,9 +507,9 @@ class Partial
}
$data = $array;
}
$content = $this->_ci->load->view($view, $data, true);
if ($overwrite)
{
$this->set($content);
@@ -525,7 +521,7 @@ class Partial
}
return $this;
}
/**
* Parses a view inside this partial, overwrite if wanted
* @param string $view
@@ -541,7 +537,7 @@ class Partial
{
$this->_ci->load->library('parser');
}
// better object to array
if (is_object($data))
{
@@ -552,9 +548,9 @@ class Partial
}
$data = $array;
}
$content = $this->_ci->parser->parse($view, $data, true);
if ($overwrite)
{
$this->set($content);
@@ -564,10 +560,10 @@ class Partial
$this->append($content);
}
}
return $this;
}
/**
* Loads a widget inside this partial, overwrite if wanted
* @param string $name
@@ -580,7 +576,7 @@ class Partial
if (!$this->_cached)
{
$widget = $this->template->widget($name, $data);
if ($overwrite)
{
$this->set($widget->content());
@@ -592,7 +588,7 @@ class Partial
}
return $this;
}
/**
* Enable cache with TTL, default TTL is 60
* @param int $ttl
@@ -604,10 +600,10 @@ class Partial
{
$this->_ci->load->driver('cache', array('adapter' => 'file'));
}
$this->_cache_ttl = $ttl;
$this->_identifier = $identifier;
if ($cached = $this->_ci->cache->get($this->cache_id()))
{
$this->_cached = true;
@@ -615,7 +611,7 @@ class Partial
}
return $this;
}
/**
* Used for cache identification
* @return string
@@ -631,7 +627,7 @@ class Partial
return $this->_name.'_'.md5(get_class($this).implode('', $this->_args));
}
}
/**
* Trigger returns the result if a trigger is set
* @param array $args
@@ -648,7 +644,7 @@ class Partial
return call_user_func_array($this->_trigger, $args);
}
}
/**
* Bind a trigger function
* Can be used like bind($this, "function") or bind("function")
@@ -663,12 +659,12 @@ class Partial
$args = func_get_args();
$obj = array_shift($args);
$func = array_pop($args);
foreach ($args as $trigger)
{
$obj = $obj->$trigger;
}
$this->_trigger = array($obj, $func);
}
else
@@ -703,8 +699,8 @@ class Widget extends Partial
ob_start();
$this->display($this->_args);
$buffer = ob_get_clean();
// if no content is produced but there was direct ouput we set
// if no content is produced but there was direct ouput we set
// that output as content
if (!$this->_content && $buffer)
{
@@ -712,7 +708,7 @@ class Widget extends Partial
}
}
}
return parent::content();
}
}
}
+3 -4
View File
@@ -32,11 +32,11 @@ class Ampel_model extends DB_Model
$query .= ' email = ? AND';
}
$query .= '
$query .= '(
(NOW()<(deadline+(COALESCE(verfallszeit,0) || \' days\')::interval)::date)
OR (verfallszeit IS NULL)
AND (NOW()>(deadline-(COALESCE(vorlaufzeit,0) || \' days\')::interval)::date)
OR (vorlaufzeit IS NULL AND NOW() < deadline)';
OR (vorlaufzeit IS NULL AND NOW() < deadline))';
$query .= ' ORDER BY deadline DESC';
@@ -50,8 +50,7 @@ class Ampel_model extends DB_Model
*/
public function execBenutzerSelect($benutzer_select)
{
$trimed = trim($benutzer_select);
if (isset($benutzer_select) && !empty($trimed))
if (isset($benutzer_select) && !isEmptyString($benutzer_select))
{
return $this->execQuery($benutzer_select);
}
+2 -3
View File
@@ -100,7 +100,7 @@ class Akte_model extends DB_Model
$parametersArray = array($person_id);
if (!empty($dokument_kurzbz))
if (!isEmptyString($dokument_kurzbz))
{
$query .= ' AND a.dokument_kurzbz = ?';
array_push($parametersArray, $dokument_kurzbz);
@@ -153,7 +153,7 @@ class Akte_model extends DB_Model
$parametersArray = array($person_id);
if (!empty($dokument_kurzbz))
if (!isEmptyString($dokument_kurzbz))
{
$query .= ' AND a.dokument_kurzbz = ?';
array_push($parametersArray, $dokument_kurzbz);
@@ -191,5 +191,4 @@ class Akte_model extends DB_Model
return success($dokumente->retval);
}
}
+1 -1
View File
@@ -219,7 +219,7 @@ class Person_model extends DB_Model
{
$person = $persons->retval[$i];
if (!empty($person->sprache))
if (!isEmptyString($person->sprache))
{
$language = $person->sprache;
break;
@@ -8,6 +8,7 @@ class MessageToken_model extends CI_Model
{
/**
* Constructor
* NOTE: here are loaded libs, models, helpers, etc. because MessageToken_model extends directly the CI_Model
*/
public function __construct()
{
@@ -204,7 +205,7 @@ class MessageToken_model extends CI_Model
}
/**
*
* Searchs for a person by its person_id and checks if it is an employee
*/
public function isEmployee($person_id)
{
+4 -2
View File
@@ -51,10 +51,12 @@ class UDF_model extends DB_Model
$resultPerson = success('person');
$resultPrestudent = success('prestudent');
$person_id = $udfs['person_id'];
$person_id = null;
if (isset($udfs['person_id'])) $person_id = $udfs['person_id'];
unset($udfs['person_id']);
$prestudent_id = $udfs['prestudent_id'];
$prestudent_id = null;
if (isset($udfs['prestudent_id'])) $prestudent_id = $udfs['prestudent_id'];
unset($udfs['prestudent_id']);
$jsons = array();
+5 -6
View File
@@ -10,7 +10,7 @@ class Seed_Message
$this->fhc =& get_instance();
$this->fhc->load->helper('fhc');
}
public function seed($limit = 50)
{
echo "Seeding $limit messages ";
@@ -18,11 +18,11 @@ class Seed_Message
$db = $this->fhc->db->query('SELECT person_id FROM public.tbl_person LIMIT 100;');
$person = $db->result();
$num_persons = $db->num_rows();
for ($i = 0; $i < $limit; $i++)
{
echo ".";
$data = array
(
'subject' => $this->fhc->faker->sentence(4, true),
@@ -43,9 +43,9 @@ class Seed_Message
if (!$recipient)
show_error($recipient);
}
echo PHP_EOL;
}
public function truncate()
@@ -53,4 +53,3 @@ class Seed_Message
$this->fhc->db->query('DELETE FROM public.msg_message;');
}
}
@@ -16,7 +16,7 @@
?>
<tr>
<td>
<a href="outputAkteContent/<?php echo $dokument->akte_id ?>"><?php echo empty($dokument->titel) ? $dokument->bezeichnung : $dokument->titel ?></a>
<a href="outputAkteContent/<?php echo $dokument->akte_id ?>"><?php echo isEmptyString($dokument->titel) ? $dokument->bezeichnung : $dokument->titel ?></a>
</td>
<td><?php echo $dokument->dokument_bezeichnung ?></td>
<td><?php echo date_format(date_create($dokument->erstelltam), 'd.m.Y') ?></td>
@@ -21,7 +21,7 @@ $this->load->view(
</div>
</div>
<div id="data">
<?php if (empty($data)): ?>
<?php if ($data == null): ?>
<?php echo $this->p->t('infocenter', 'keineZugangsvoraussetzungenTxt'); ?>
<?php
else:
@@ -34,4 +34,4 @@ $this->load->view(
</div>
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
<?php $this->load->view('templates/FHC-Footer'); ?>
@@ -129,7 +129,7 @@
<div class="form-group">
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('global','datum') . ':'?></label>
<?php
$zgvdatum = empty($zgvpruefung->zgvdatum) ? "" : date_format(date_create($zgvpruefung->zgvdatum), 'd.m.Y');
$zgvdatum = isEmptyString($zgvpruefung->zgvdatum) ? "" : date_format(date_create($zgvpruefung->zgvdatum), 'd.m.Y');
if ($infoonly):
echo $zgvdatum;
else:
@@ -188,7 +188,7 @@
<div class="form-group">
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre','master') . ' ' . $this->p->t('global','datum') . ':'?></label>
<?php
$zgvmadatum = empty($zgvpruefung->zgvmadatum) ? "" : date_format(date_create($zgvpruefung->zgvmadatum), 'd.m.Y');
$zgvmadatum = isEmptyString($zgvpruefung->zgvmadatum) ? "" : date_format(date_create($zgvpruefung->zgvmadatum), 'd.m.Y');
if ($infoonly):
echo $zgvmadatum;
else:
@@ -305,7 +305,7 @@
<div class="col-lg-6 text-right">
<?php
$disabled = $disabledTxt = '';
if (empty($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum))
if (isEmptyString($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum))
{
$disabled = 'disabled';
$disabledTxt = 'Die Bewerbung muss erst abgeschickt worden sein.';
+7 -7
View File
@@ -6,14 +6,14 @@ class Reihungstest_widget extends DropdownWidget
{
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
$this->ReihungstestModel->addOrder('datum', 'DESC');
$this->addSelectToModel($this->ReihungstestModel, 'reihungstest_id', 'CONCAT(datum, \' \', uhrzeit, \' \', anmerkung)');
$parametersArray = array();
// If the parameters studiengang or studiensemester are given and are not empty
if (isset($widgetData) && is_array($widgetData)
&& ((isset($widgetData['studiengang']) && !empty($widgetData['studiengang']))
|| (isset($widgetData['studiensemester']) && !empty($widgetData['studiensemester']))))
&& ((isset($widgetData['studiengang']) && !isEmptyString($widgetData['studiengang']))
|| (isset($widgetData['studiensemester']) && !isEmptyString($widgetData['studiensemester']))))
{
if ($widgetData['studiengang'] != null)
{
@@ -30,14 +30,14 @@ class Reihungstest_widget extends DropdownWidget
// Set 0 = 1 in the where clause of the query
$parametersArray['0'] = '1';
}
$this->setElementsArray(
$this->ReihungstestModel->loadWhere($parametersArray),
true,
'Select a reihungstest...',
'No reihungstest found'
);
$this->loadDropDownView($widgetData);
}
}
}
+13 -16
View File
@@ -10,12 +10,12 @@ class HTMLWidget extends Widget
const HTML_DEFAULT_VALUE = ''; // Default value of the html element
const HTML_NAME = 'name'; // HTML name attribute
const HTML_ID = 'id'; // HTML id attribute
// External block definition
const EXTERNAL_BLOCK = 'externalBlock'; // External block name
const EXTERNAL_START_BLOCK_HTML_TAG = '<div>'; // External block start tag
const EXTERNAL_END_BLOCK_HTML_TAG = '</div>'; // External block end tag
// HTML attributes
const LABEL = 'title';
const REGEX = 'regex';
@@ -26,21 +26,18 @@ class HTMLWidget extends Widget
const MAX_LENGTH = 'max-length';
const MIN_LENGTH = 'min-length';
const PLACEHOLDER = 'placeholder';
/**
* It gets also the htmlArgs array as parameter, it will be used to set the HTML properties
*/
public function __construct($name, $args = array(), $htmlArgs = array())
{
parent::__construct($name, $args);
// Initialising HTML properties
$this->_setHtmlProperties($htmlArgs);
// Loads helper message to manage returning messages
$this->load->helper('message');
}
/**
* Initialising html properties, such as the id and name attributes of the HTML element
*/
@@ -50,19 +47,19 @@ class HTMLWidget extends Widget
if (!isset($this->_args[HTMLWidget::HTML_ARG_NAME]))
{
$this->_args[HTMLWidget::HTML_ARG_NAME] = array();
// Avoids that elements in a HTML page have the same name or id
$randomIdentifier = uniqid(rand(0, 1000));
$this->_args[HTMLWidget::HTML_ARG_NAME][HTMLWidget::HTML_ID] = $randomIdentifier;
$this->_args[HTMLWidget::HTML_ARG_NAME][HTMLWidget::HTML_NAME] = $randomIdentifier;
foreach($htmlArgs as $argName => $argValue)
{
$this->_args[HTMLWidget::HTML_ARG_NAME][$argName] = $argValue;
}
}
}
/**
* Prints an attribute name and eventually also the value extracted from $htmlArgs
* Set $isValuePresent to false the value should not be displayed
@@ -76,12 +73,12 @@ class HTMLWidget extends Widget
if ($isValuePresent === true)
{
$value = $htmlArgs[$attribute];
if (is_bool($value))
{
$value = $value ? 'true' : 'false';
}
echo sprintf('%s="%s"', $attribute, $value);
}
else
@@ -91,7 +88,7 @@ class HTMLWidget extends Widget
}
}
}
/**
* Prints the external block start tag
*/
@@ -103,7 +100,7 @@ class HTMLWidget extends Widget
echo HTMLWidget::EXTERNAL_START_BLOCK_HTML_TAG;
}
}
/**
* Prints the external block end tag
*/
@@ -115,4 +112,4 @@ class HTMLWidget extends Widget
echo HTMLWidget::EXTERNAL_END_BLOCK_HTML_TAG;
}
}
}
}
+11 -1
View File
@@ -40,7 +40,7 @@ define('XML_ROOT', 'http://www.fhcomlete.org/build/rdf/');
// Pfad zu Document Root
define('DOC_ROOT', '/var/www/html/build/');
// URL zu CIS
define('CIS_ROOT', 'http://www.fhcomlete.org/build/cis/');
define('CIS_ROOT', 'http://www.fhcomlete.org/build/');
// Externe Funktionen - Unterordner im Include-Verzeichnis
define('EXT_FKT_PATH', 'tw');
@@ -185,4 +185,14 @@ define('SIGNATUR_USER', 'username');
define('SIGNATUR_PASSWORD', 'password');
// Signaturprofil das verwendet werden soll
define('SIGNATUR_DEFAULT_PROFILE', 'FHC_AMT_GROSS_DE');
/**
* Datenverbund Anbindung
*/
// Code der Bildungseinrichtung
define('DVB_BILDUNGSEINRICHTUNG_CODE','XX');
// Username
define('DVB_USERNAME','username');
// Passwort
define('DVB_PASSWORD','passwort');
?>
+1
View File
@@ -25,6 +25,7 @@
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/datum.class.php');
require_once(dirname(__FILE__).'/functions.inc.php');
class cronjob extends basis_db
{
+248 -21
View File
@@ -23,8 +23,13 @@
* Abfrage und Vergabe von Matrikelnummern
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/person.class.php');
require_once(dirname(__FILE__).'/student.class.php');
require_once(dirname(__FILE__).'/studiensemester.class.php');
require_once(dirname(__FILE__).'/adresse.class.php');
require_once(dirname(__FILE__).'/webservicelog.class.php');
class dvb
class dvb extends basis_db
{
const DVB_URL_WEBSERVICE_OAUTH = 'https://stubei-q.portal.at/dvb/oauth/token';
const DVB_URL_WEBSERVICE_SVNR = 'https://stubei-q.portal.at/rws/0.1/simpleStudentBySozialVersicherungsnummer.xml';
@@ -35,7 +40,7 @@ class dvb
public $authentication;
private $username;
private $password;
private $debug;
protected $debug;
public $debug_output = '';
/**
@@ -51,6 +56,170 @@ class dvb
$this->debug = $debug;
}
/**
* Versucht die Matrikelnummer für eine Person zu ermitteln.
* Wenn die Person noch keine Matrikelnummer besitzt, wird eine neue Matrikelnummer
* angefordert und der Person zugeordnet
* @param int $person_id ID der Person.
* @return boolean true wenn Erfolgreich, false im Fehlerfall
*/
public function assignMatrikelnummer($person_id)
{
$person = new person();
if (!$person->load($person_id))
{
$this->errormsg = $person->errormsg;
return false;
}
if ($person->svnr != '')
{
$matrikelnummer = $this->getMatrikelnrBySVNR($person->svnr);
if ($matrikelnummer === false && $this->errormsg != '')
{
$this->logRequest($person, 'getMatrikelnrBySVNR', false);
return false;
}
}
elseif ($person->ersatzkennzeichen != '')
{
$matrikelnummer = $this->getMatrikelnrByErsatzkennzeichen($person->ersatzkennzeichen);
if ($matrikelnummer === false && $this->errormsg != '')
{
$this->logRequest($person, 'getMatrikelnrByErsatzkennzeichen', false);
return false;
}
}
else
{
$this->errormsg = 'Person braucht SVNR oder Ersatzkennzeichen';
return false;
}
if ($matrikelnummer !== false && $matrikelnummer != '')
{
// Matrikelnummer wurde gefunden
// Bei Person speichern
$person->matr_nr = $matrikelnummer;
if ($person->save())
{
$this->logRequest($person, 'assignExistingMatrikelnummer', true, $matrikelnummer);
return true;
}
}
else
{
// Es wurde noch keine Matrikelnummer zu dieser Person zugeordnet
// Es wird eine neue Matrikelnummer aus dem Kontingent angefordert
// und an die Person vergeben
// Studienjahr ermitteln
$qry = "
SELECT
studiensemester_kurzbz, prestudent_id
FROM
public.tbl_student
JOIN public.tbl_prestudent USING(prestudent_id)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_benutzer ON(tbl_student.student_uid = tbl_benutzer.uid)
WHERE
tbl_prestudent.person_id=".$this->db_add_param($person->person_id)."
AND tbl_benutzer.aktiv
AND tbl_prestudentstatus.status_kurzbz='Student'
AND tbl_prestudent.bismelden
ORDER BY tbl_prestudentstatus.datum desc LIMIT 1
";
$prestudent_id = '';
$studiensemester_kurzbz = '';
if ($result = $this->db_query($qry))
{
if ($row = $this->db_fetch_object($result))
{
$studiensemester_kurzbz = $row->studiensemester_kurzbz;
$prestudent_id = $row->prestudent_id;
}
else
{
$this->logRequest($person, 'assignNewMatrikelnummer', false);
$this->errormsg = 'Fehler beim Ermitteln des Studienjahrs für diese Person';
return false;
}
}
else
{
$this->logRequest($person, 'assignNewMatrikelnummer', false);
$this->errormsg = 'Fehler beim Ermitteln des Studienjahrs für diese Person';
return false;
}
$studienjahr = substr($studiensemester_kurzbz, 4);
$art = substr($studiensemester_kurzbz, 0, 2);
if ($art == 'SS')
$studienjahr = $studienjahr - 1;
// Erstaustattung im Jahr 2018. Alle davor bekommen 18er Nummern
if ($studienjahr < 2018)
$studienjahr = 2018;
// Neue Matrikelnummer aus Kontingent anfordern
$kontingent = $this->getKontingent(DVB_BILDUNGSEINRICHTUNG_CODE, $studienjahr);
if ($kontingent !== false && isset($kontingent[0]))
{
$person_meldung = new stdClass();
$person_meldung->matrikelnummer = $kontingent[0];
$person_meldung->vorname = $person->vorname;
$person_meldung->nachname = $person->nachname;
$person_meldung->geburtsdatum = $person->gebdatum;
$person_meldung->geschlecht = UPPER($person->geschlecht);
$person_meldung->staat = $person->staatsbuergerschaft;
if ($person->svnr != '')
$person_meldung->svnr = $person->svnr;
// PLZ der Meldeadresse laden
$adresse = new adresse();
if ($adresse->loadZustellAdresse($person->person_id))
$person_meldung->plz = $row->plz;
// ZGV Datum laden falls vorhanden
$prestudent = new prestudent();
if ($prestudent->load($prestudent_id) && $prestudent->zgvdatum != '')
{
$datum_obj = new datum();
$person->matura = $datum_obj->formatDatum($matura, 'Ymd');
}
// Meldung der Vergabe der Matrikelnummer
if ($this->setMatrikelnummer(DVB_BILDUNGSEINRICHTUNG_CODE, $person))
{
// Matrikelnummer bei Person speichern
$person->matr_nr = $matrikelnummer;
if ($person->save())
{
$this->logRequest($person, 'assignNewMatrikelnummer', true, $matrikelnummer);
return true;
}
}
else
{
$this->logRequest($person, 'assignNewgMatrikelnummer', false, $person_meldung);
$this->errormsg .= 'Vergabe fehlgeschlagen';
return false;
}
}
else
{
$this->logRequest($person, 'assignNewgMatrikelnummer', false, $studienjahr);
$this->errormsg .= 'Failed to get Kontingent';
return false;
}
}
}
/**
* Performs a OAuth2 Authentication and returns the OAuth Bearer Token
* @return boolean true wenn erfolgreich, false im Fehlerfall
@@ -113,7 +282,8 @@ class dvb
}
else
{
$this->errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$json_response;
$this->errormsg = 'Authentication failed with HTTP Code:'.$curl_info['http_code'];
$this->errormsg .= ' and Response:'.$json_response;
return false;
}
}
@@ -145,10 +315,11 @@ class dvb
{
if ($this->tokenIsExpired())
{
$this->authenticate();
if (!$this->authenticate())
return false;
}
$this->debug('getMatirkelnrBySVNR');
$this->debug('getMatrikelnrBySVNR');
$curl = curl_init();
@@ -176,7 +347,9 @@ class dvb
$curl_info = curl_getinfo($curl);
curl_close($curl);
$this->debug('Response '.$curl_info['http_code']);
$this->debug('ResponseCode: '.$curl_info['http_code']);
$this->debug('ResponseData: '.print_r($response, true));
if ($curl_info['http_code'] == '200')
{
/* Example Response:
@@ -194,11 +367,22 @@ class dvb
$dom = new DOMDocument();
$dom->loadXML($response);
$namespace = 'http://www.brz.gv.at/datenverbund-unis';
$domnodes_matrikelnummer = $dom->getElementsByTagNameNS($namespace, 'matrikelNummer');
foreach ($domnodes_matrikelnummer as $row)
$domnodes_student = $dom->getElementsByTagNameNS($namespace, 'student');
foreach ($domnodes_student as $row_student)
{
// Found
return $row->textContent;
// Wenn nicht gesperrt und fix vergeben
$ingesamtpool = $row_student->getAttribute('inGesamtPool');
$gesperrt = $row_student->getAttribute('gesperrt');
if ($ingesamtpool == 'true' && $gesperrt == 'false')
{
$domnodes_matrikelnummer = $row_student->getElementsByTagNameNS($namespace, 'matrikelNummer');
foreach ($domnodes_matrikelnummer as $row)
{
// Found
return $row->textContent;
}
}
}
$this->errormsg = '';
@@ -220,7 +404,8 @@ class dvb
{
if ($this->tokenIsExpired())
{
$this->authenticate();
if (!$this->authenticate())
return false;
}
$this->debug('getMatrikelnrByErsatzkennzeichen');
@@ -248,7 +433,8 @@ class dvb
$xml_response = curl_exec($curl);
$curl_info = curl_getinfo($curl);
curl_close($curl);
$this->debug('Response: '.$curl_info['http_code']);
$this->debug('ResponseCode: '.$curl_info['http_code']);
$this->debug('ResponseData: '.print_r($response, true));
if ($curl_info['http_code'] == '200')
{
@@ -315,12 +501,26 @@ class dvb
$dom = new DOMDocument();
$dom->loadXML($xml_response);
$namespace = 'http://www.brz.gv.at/datenverbund-unis';
$domnodes_matrikelnummer = $dom->getElementsByTagNameNS($namespace, 'matrikelNummer');
foreach ($domnodes_matrikelnummer as $row)
$domnodes_student = $dom->getElementsByTagNameNS($namespace, 'student');
foreach ($domnodes_student as $row_student)
{
// Found
return $row->textContent;
// Wenn nicht gesperrt und fix vergeben
$ingesamtpool = $row_student->getAttribute('inGesamtPool');
$gesperrt = $row_student->getAttribute('gesperrt');
if ($ingesamtpool == 'true' && $gesperrt == 'false')
{
$domnodes_matrikelnummer = $row_student->getElementsByTagNameNS($namespace, 'matrikelNummer');
foreach ($domnodes_matrikelnummer as $row)
{
// Found
return $row->textContent;
}
}
}
$this->errormsg = '';
return false;
}
else
{
@@ -342,7 +542,8 @@ class dvb
if ($this->tokenIsExpired())
{
$this->authenticate();
if (!$this->authenticate())
return false;
}
$curl = curl_init();
@@ -371,7 +572,8 @@ class dvb
$curl_info = curl_getinfo($curl);
curl_close($curl);
$this->debug('Response: '.$curl_info['http_code']);
$this->debug('ResponseCode: '.$curl_info['http_code']);
$this->debug('ResponseData: '.print_r($response, true));
/* 200 ok
<?xml version="1.0" encoding="UTF-8"?>
@@ -417,7 +619,8 @@ class dvb
if ($this->tokenIsExpired())
{
$this->authenticate();
if (!$this->authenticate())
return false;
}
$data = '<?xml version="1.0" encoding="UTF-8"?>
@@ -457,7 +660,8 @@ class dvb
$curl_info = curl_getinfo($curl);
curl_close($curl);
$this->debug('Response: '.$curl_info['http_code']);
$this->debug('ResponseCode: '.$curl_info['http_code']);
$this->debug('ResponseData: '.print_r($response, true));
if ($curl_info['http_code'] == '200')
{
@@ -491,7 +695,8 @@ class dvb
if ($this->tokenIsExpired())
{
$this->authenticate();
if (!$this->authenticate())
return false;
}
$data = '<?xml version="1.0" encoding="UTF-8"?>
@@ -651,4 +856,26 @@ class dvb
if ($this->debug)
$this->debug_output .= "\n<br>".date('Y-m-d H:i:s').': '.htmlentities($msg);
}
/**
* Erstellt einen Logeintrag
* @param object $person Personen objekt.
* @param string $typ Art des Requests.
* @param bool $result True wen Erfolgreich, false wenn Fehlerhaft.
* @param object $data Zusatzdaten die Übermittelt wurden und geloggt werden sollen.
* @return void
*/
public function logRequest($person, $typ, $result, $data = null)
{
$webservicelog = new webservicelog();
$webservicelog->webservicetyp_kurzbz = 'dvb';
$webservicelog->request_id = $person->person_id;
$webservicelog->beschreibung = $typ;
$webservicelog->request_data = ($result?'SUCCESS':'FAILED').' '.$this->errormsg;
if (!is_null($data))
$webservicelog->request_data .= ' '.print_r($data, true);
$webservicelog->save();
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 800 KiB

Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 602 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 782 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 619 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 642 KiB

After

Width:  |  Height:  |  Size: 96 KiB

+18 -3
View File
@@ -53,6 +53,7 @@ $staat = filter_input(INPUT_POST, 'staat');
$matura = filter_input(INPUT_POST, 'matura');
$svnr = filter_input(INPUT_POST, 'svnr');
$ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
$person_id = filter_input(INPUT_POST, 'person_id');
?><!DOCTYPE html>
<html>
@@ -73,6 +74,7 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
<li><a href="datenverbund_client.php?action=getReservations">Matrikelnummer Reservierungen anzeigen</a></li>
<li><a href="datenverbund_client.php?action=getKontingent">Matrikelnummer Kontingent anfordern</a></li>
<li><a href="datenverbund_client.php?action=setMatrikelnummer">Matrikelnummer Vergabe melden</a></li>
<li><a href="datenverbund_client.php?action=assignMatrikelnummer">Gesamtprozess (Abfrage, ggf Vergabemeldung, Speichern bei Person)</a></li>
</ul>
<br><br>
<form action="<?php echo $_SERVER['PHP_SELF'].'?action='.$action; ?>" method="post">
@@ -87,7 +89,7 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
* @param int $maxlength Maximallaenge des Eingabefeldes.
* @return void
*/
function printrow($name, $title, $value, $hint = '', $maxlength = 15)
function printrow($name, $title, $value, $hint = '', $maxlength = 15, $type = 'text')
{
global $db;
@@ -95,14 +97,14 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
<tr>
<td align="right">'.$title.':</td>
<td>
<input name="'.$name.'" type="text" size="30" maxlength="'.$maxlength.'"
<input name="'.$name.'" type="'.$type.'" size="30" maxlength="'.$maxlength.'"
value="'.$db->convert_html_chars($value).'"> '.$hint.'
</td>
</tr>';
}
printrow('username', 'Username', $username, '', 100);
printrow('password', 'Passwort', $password, '', 100);
printrow('password', 'Passwort', $password, '', 100, 'password');
switch($action)
{
@@ -146,6 +148,10 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
printrow('matura', 'Maturadatum', $matura, 'Format: YYYYMMDD (optional)', 10);
break;
case 'assignMatrikelnummer':
printrow('person_id', 'PersonID', $person_id);
break;
default:
echo "Unknown action";
break;
@@ -232,6 +238,15 @@ if (isset($_REQUEST['submit']))
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
break;
case 'assignMatrikelnummer':
if($dvb->assignMatrikelnummer($person_id))
{
echo '<br><b>OK</b>';
}
else
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
break;
default:
echo "Unknown action";
break;
+14
View File
@@ -2221,6 +2221,20 @@ if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname =
}
}
// Webservicetyp dvb
if ($result = $db->db_query("SELECT * FROM system.tbl_webservicetyp WHERE webservicetyp_kurzbz='dvb'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO system.tbl_webservicetyp(webservicetyp_kurzbz, beschreibung) VALUES('dvb','Datenverbund');";
if(!$db->db_query($qry))
echo '<strong>WebserviceLog: '.$db->db_last_error().'</strong><br>';
else
echo 'Webservicelog Typ für Datenverbund hinzugefügt';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+1
View File
@@ -29,6 +29,7 @@
require_once(dirname(__FILE__).'/../../config/vilesci.config.inc.php');
require_once(dirname(__FILE__).'/../../include/cronjob.class.php');
require_once(dirname(__FILE__).'/../../include/datum.class.php');
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
$datum = new datum();
$cj = new cronjob();