diff --git a/application/config/autoload.php b/application/config/autoload.php index 76835381d..baf545db6 100644 --- a/application/config/autoload.php +++ b/application/config/autoload.php @@ -58,7 +58,7 @@ $autoload['packages'] = array(); | | $autoload['libraries'] = array('user_agent' => 'ua'); */ -$autoload['libraries'] = array('Session', 'AuthLib'); +$autoload['libraries'] = array('Session'); /* | ------------------------------------------------------------------- diff --git a/application/config/navigation.php b/application/config/navigation.php index ecdd5d9f7..485f8a3d9 100644 --- a/application/config/navigation.php +++ b/application/config/navigation.php @@ -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 ) ); diff --git a/application/controllers/MailJob.php b/application/controllers/MailJob.php index 0e86eb425..2f8b5b92d 100644 --- a/application/controllers/MailJob.php +++ b/application/controllers/MailJob.php @@ -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) diff --git a/application/controllers/Redirect.php b/application/controllers/Redirect.php index 52eceff6d..a89598f63 100644 --- a/application/controllers/Redirect.php +++ b/application/controllers/Redirect.php @@ -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'); } diff --git a/application/controllers/ViewMessage.php b/application/controllers/ViewMessage.php index c88a83889..fb614144c 100644 --- a/application/controllers/ViewMessage.php +++ b/application/controllers/ViewMessage.php @@ -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'); } diff --git a/application/controllers/Vilesci.php b/application/controllers/Vilesci.php index d14e60d27..59f1d7783 100644 --- a/application/controllers/Vilesci.php +++ b/application/controllers/Vilesci.php @@ -1,9 +1,9 @@ - load->library('AuthLib'); } /** diff --git a/application/controllers/api/v1/Test.php b/application/controllers/api/v1/Test.php index b9eacd5f9..f0e05e880 100644 --- a/application/controllers/api/v1/Test.php +++ b/application/controllers/api/v1/Test.php @@ -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'); } diff --git a/application/controllers/api/v1/codex/Gemeinde.php b/application/controllers/api/v1/codex/Gemeinde.php index 255498b4b..340d1ed9b 100644 --- a/application/controllers/api/v1/codex/Gemeinde.php +++ b/application/controllers/api/v1/codex/Gemeinde.php @@ -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'); } /** diff --git a/application/controllers/api/v1/crm/RtPerson.php b/application/controllers/api/v1/crm/RtPerson.php index 9f251052f..f9610722a 100644 --- a/application/controllers/api/v1/crm/RtPerson.php +++ b/application/controllers/api/v1/crm/RtPerson.php @@ -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'); } /** diff --git a/application/controllers/api/v1/organisation/Studienplan.php b/application/controllers/api/v1/organisation/Studienplan.php index 0c1db0af7..05d8d7837 100644 --- a/application/controllers/api/v1/organisation/Studienplan.php +++ b/application/controllers/api/v1/organisation/Studienplan.php @@ -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() diff --git a/application/controllers/api/v1/ressource/Ort.php b/application/controllers/api/v1/ressource/Ort.php index 1610c7d0f..a49bbe2fb 100644 --- a/application/controllers/api/v1/ressource/Ort.php +++ b/application/controllers/api/v1/ressource/Ort.php @@ -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'); } /** diff --git a/application/controllers/crm/Statusgrund.php b/application/controllers/crm/Statusgrund.php index 5b58e2107..472270ef3 100644 --- a/application/controllers/crm/Statusgrund.php +++ b/application/controllers/crm/Statusgrund.php @@ -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() diff --git a/application/controllers/organisation/Studienjahr.php b/application/controllers/organisation/Studienjahr.php index 924a2d9ec..c3c841df9 100644 --- a/application/controllers/organisation/Studienjahr.php +++ b/application/controllers/organisation/Studienjahr.php @@ -25,7 +25,7 @@ class Studienjahr extends Auth_Controller ) ); - $this->load->model("organisation/Studienjahr_model", "StudienjahrModel"); + $this->load->model('organisation/Studienjahr_model', 'StudienjahrModel'); } /** diff --git a/application/controllers/organisation/Studiensemester.php b/application/controllers/organisation/Studiensemester.php index 122fe0be5..cdca4997d 100644 --- a/application/controllers/organisation/Studiensemester.php +++ b/application/controllers/organisation/Studiensemester.php @@ -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'); } /** diff --git a/application/controllers/rdf/Basic.php b/application/controllers/rdf/Basic.php index e1f70f969..0ff53a77d 100644 --- a/application/controllers/rdf/Basic.php +++ b/application/controllers/rdf/Basic.php @@ -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 diff --git a/application/controllers/system/Filters.php b/application/controllers/system/Filters.php index 2a9919e35..1b43e82e1 100644 --- a/application/controllers/system/Filters.php +++ b/application/controllers/system/Filters.php @@ -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; - } } diff --git a/application/controllers/system/Messages.php b/application/controllers/system/Messages.php index fbdd7641b..4dac2663f 100644 --- a/application/controllers/system/Messages.php +++ b/application/controllers/system/Messages.php @@ -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 } diff --git a/application/controllers/system/Phrases.php b/application/controllers/system/Phrases.php index 40c2d09bc..67c5d24f9 100644 --- a/application/controllers/system/Phrases.php +++ b/application/controllers/system/Phrases.php @@ -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) diff --git a/application/controllers/system/UDF.php b/application/controllers/system/UDF.php index 464f8af9a..dafa3f8f7 100644 --- a/application/controllers/system/UDF.php +++ b/application/controllers/system/UDF.php @@ -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)) diff --git a/application/controllers/system/Vorlage.php b/application/controllers/system/Vorlage.php index 9bb80d72e..4712d0e68 100644 --- a/application/controllers/system/Vorlage.php +++ b/application/controllers/system/Vorlage.php @@ -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); diff --git a/application/controllers/system/aufnahme/PrestudentMultiAssign.php b/application/controllers/system/aufnahme/PrestudentMultiAssign.php index 6fc51d7dc..30df81281 100644 --- a/application/controllers/system/aufnahme/PrestudentMultiAssign.php +++ b/application/controllers/system/aufnahme/PrestudentMultiAssign.php @@ -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; } diff --git a/application/controllers/system/extensions/Manager.php b/application/controllers/system/extensions/Manager.php index 4c88d1b8a..0a8867c1f 100644 --- a/application/controllers/system/extensions/Manager.php +++ b/application/controllers/system/extensions/Manager.php @@ -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'); diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index e57d3c1be..3d0b7f6c3 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -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ä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.'); diff --git a/application/core/APIv1_Controller.php b/application/core/APIv1_Controller.php index 97f8d43d8..927265346 100644 --- a/application/core/APIv1_Controller.php +++ b/application/core/APIv1_Controller.php @@ -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 diff --git a/application/core/DB_Model.php b/application/core/DB_Model.php index ca59ad57e..6273cb962 100644 --- a/application/core/DB_Model.php +++ b/application/core/DB_Model.php @@ -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) diff --git a/application/core/FHC_Controller.php b/application/core/FHC_Controller.php index dafa70e81..888c513dc 100644 --- a/application/core/FHC_Controller.php +++ b/application/core/FHC_Controller.php @@ -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 diff --git a/application/core/FHC_Model.php b/application/core/FHC_Model.php index 8ee6b4aba..e31ff332d 100644 --- a/application/core/FHC_Model.php +++ b/application/core/FHC_Model.php @@ -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'); } } diff --git a/application/core/FS_Model.php b/application/core/FS_Model.php index 00cf03720..7e2b2d7e2 100644 --- a/application/core/FS_Model.php +++ b/application/core/FS_Model.php @@ -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; } diff --git a/application/helpers/fhc_helper.php b/application/helpers/fhc_helper.php index 19326e4df..425b40e3f 100644 --- a/application/helpers/fhc_helper.php +++ b/application/helpers/fhc_helper.php @@ -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)); +} diff --git a/application/helpers/fhcauth_helper.php b/application/helpers/fhcauth_helper.php index da01d62ba..e8b553dd3 100644 --- a/application/helpers/fhcauth_helper.php +++ b/application/helpers/fhcauth_helper.php @@ -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(); } diff --git a/application/helpers/sancho_helper.php b/application/helpers/sancho_helper.php index 210c5115b..a8e9f05c9 100644 --- a/application/helpers/sancho_helper.php +++ b/application/helpers/sancho_helper.php @@ -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); diff --git a/application/libraries/AuthLib.php b/application/libraries/AuthLib.php index 20b14bd01..f686eca4a 100644 --- a/application/libraries/AuthLib.php +++ b/application/libraries/AuthLib.php @@ -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)) { diff --git a/application/libraries/CallerLib.php b/application/libraries/CallerLib.php index 287740d55..9024c0f09 100644 --- a/application/libraries/CallerLib.php +++ b/application/libraries/CallerLib.php @@ -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'); } diff --git a/application/libraries/DmsLib.php b/application/libraries/DmsLib.php index 7b5eeb62e..317b02157 100644 --- a/application/libraries/DmsLib.php +++ b/application/libraries/DmsLib.php @@ -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'); } /** diff --git a/application/libraries/ExtensionsLib.php b/application/libraries/ExtensionsLib.php index 70edb106b..67fa9d117 100644 --- a/application/libraries/ExtensionsLib.php +++ b/application/libraries/ExtensionsLib.php @@ -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; } } diff --git a/application/libraries/FiltersLib.php b/application/libraries/FiltersLib.php index 8a143f7c9..263956e18 100644 --- a/application/libraries/FiltersLib.php +++ b/application/libraries/FiltersLib.php @@ -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; } diff --git a/application/libraries/MailLib.php b/application/libraries/MailLib.php index e7d3435e0..0871273b5 100644 --- a/application/libraries/MailLib.php +++ b/application/libraries/MailLib.php @@ -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); } diff --git a/application/libraries/MessageLib.php b/application/libraries/MessageLib.php index bed87d184..8d04b9824 100644 --- a/application/libraries/MessageLib.php +++ b/application/libraries/MessageLib.php @@ -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; diff --git a/application/libraries/NavigationLib.php b/application/libraries/NavigationLib.php index 8f6bdce7a..ceeddca52 100644 --- a/application/libraries/NavigationLib.php +++ b/application/libraries/NavigationLib.php @@ -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]; } diff --git a/application/libraries/OrganisationseinheitLib.php b/application/libraries/OrganisationseinheitLib.php index b98e8c2c0..746dff255 100644 --- a/application/libraries/OrganisationseinheitLib.php +++ b/application/libraries/OrganisationseinheitLib.php @@ -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'); } /** diff --git a/application/libraries/PermissionLib.php b/application/libraries/PermissionLib.php index 4757b8643..34744ef3a 100644 --- a/application/libraries/PermissionLib.php +++ b/application/libraries/PermissionLib.php @@ -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()); } } diff --git a/application/libraries/PhrasesLib.php b/application/libraries/PhrasesLib.php index 0c983c399..e8582f65b 100644 --- a/application/libraries/PhrasesLib.php +++ b/application/libraries/PhrasesLib.php @@ -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'); diff --git a/application/libraries/REST_Controller.php b/application/libraries/REST_Controller.php index e32cf75f7..7575862ba 100644 --- a/application/libraries/REST_Controller.php +++ b/application/libraries/REST_Controller.php @@ -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); diff --git a/application/libraries/UDFLib.php b/application/libraries/UDFLib.php index 2d453f068..eeb546ae3 100644 --- a/application/libraries/UDFLib.php +++ b/application/libraries/UDFLib.php @@ -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!'); } diff --git a/application/libraries/VorlageLib.php b/application/libraries/VorlageLib.php index ea96f3e18..97ba591c9 100644 --- a/application/libraries/VorlageLib.php +++ b/application/libraries/VorlageLib.php @@ -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; diff --git a/application/libraries/WidgetLib.php b/application/libraries/WidgetLib.php index 0829944d8..fb724cd45 100644 --- a/application/libraries/WidgetLib.php +++ b/application/libraries/WidgetLib.php @@ -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 ''."\n\t"; } else @@ -283,7 +279,7 @@ class WidgetLib return ''."\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 ''."\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 = ''."\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(); } -} \ No newline at end of file +} diff --git a/application/models/content/Ampel_model.php b/application/models/content/Ampel_model.php index 44aa015a2..4b8fab15a 100644 --- a/application/models/content/Ampel_model.php +++ b/application/models/content/Ampel_model.php @@ -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); } diff --git a/application/models/crm/Akte_model.php b/application/models/crm/Akte_model.php index a0df680de..b30e175c3 100644 --- a/application/models/crm/Akte_model.php +++ b/application/models/crm/Akte_model.php @@ -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); } - } diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index f94a59d4f..0492719a4 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -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; diff --git a/application/models/system/MessageToken_model.php b/application/models/system/MessageToken_model.php index 1f847a36f..d3277e720 100644 --- a/application/models/system/MessageToken_model.php +++ b/application/models/system/MessageToken_model.php @@ -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) { diff --git a/application/models/system/UDF_model.php b/application/models/system/UDF_model.php index ae9a91a69..5efb061d1 100644 --- a/application/models/system/UDF_model.php +++ b/application/models/system/UDF_model.php @@ -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(); diff --git a/application/seeds/005_message.php b/application/seeds/005_message.php index 9497bc074..8e6d6b50e 100644 --- a/application/seeds/005_message.php +++ b/application/seeds/005_message.php @@ -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;'); } } - diff --git a/application/views/system/infocenter/dokpruefung.php b/application/views/system/infocenter/dokpruefung.php index fae23c48b..7c431fc46 100644 --- a/application/views/system/infocenter/dokpruefung.php +++ b/application/views/system/infocenter/dokpruefung.php @@ -16,7 +16,7 @@ ?> - titel) ? $dokument->bezeichnung : $dokument->titel ?> + titel) ? $dokument->bezeichnung : $dokument->titel ?> dokument_bezeichnung ?> erstelltam), 'd.m.Y') ?> diff --git a/application/views/system/infocenter/studiengangZgvInfo.php b/application/views/system/infocenter/studiengangZgvInfo.php index 813a87889..1b699d634 100644 --- a/application/views/system/infocenter/studiengangZgvInfo.php +++ b/application/views/system/infocenter/studiengangZgvInfo.php @@ -21,7 +21,7 @@ $this->load->view(
- + p->t('infocenter', 'keineZugangsvoraussetzungenTxt'); ?> load->view(
-load->view('templates/FHC-Footer'); ?> \ No newline at end of file +load->view('templates/FHC-Footer'); ?> diff --git a/application/views/system/infocenter/zgvpruefungen.php b/application/views/system/infocenter/zgvpruefungen.php index 0dbf6a1f0..b68ac5310 100644 --- a/application/views/system/infocenter/zgvpruefungen.php +++ b/application/views/system/infocenter/zgvpruefungen.php @@ -129,7 +129,7 @@
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 @@
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 @@
prestudentstatus->bewerbung_abgeschicktamum)) + if (isEmptyString($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum)) { $disabled = 'disabled'; $disabledTxt = 'Die Bewerbung muss erst abgeschickt worden sein.'; diff --git a/application/widgets/Reihungstest_widget.php b/application/widgets/Reihungstest_widget.php index 023b501d3..b8bae1ff9 100644 --- a/application/widgets/Reihungstest_widget.php +++ b/application/widgets/Reihungstest_widget.php @@ -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); } -} \ No newline at end of file +} diff --git a/application/widgets/html/HTMLWidget.php b/application/widgets/html/HTMLWidget.php index 9e737a8b7..9639890ea 100644 --- a/application/widgets/html/HTMLWidget.php +++ b/application/widgets/html/HTMLWidget.php @@ -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 = '
'; // External block start tag const EXTERNAL_END_BLOCK_HTML_TAG = '
'; // 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; } } -} \ No newline at end of file +} diff --git a/config/vilesci.config-default.inc.php b/config/vilesci.config-default.inc.php index c7140cd89..713367bd7 100644 --- a/config/vilesci.config-default.inc.php +++ b/config/vilesci.config-default.inc.php @@ -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'); ?> diff --git a/include/cronjob.class.php b/include/cronjob.class.php index e892e55a0..b35d8e2ce 100644 --- a/include/cronjob.class.php +++ b/include/cronjob.class.php @@ -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 { diff --git a/include/dvb.class.php b/include/dvb.class.php index fc9b26c1d..c2b94802e 100644 --- a/include/dvb.class.php +++ b/include/dvb.class.php @@ -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 @@ -417,7 +619,8 @@ class dvb if ($this->tokenIsExpired()) { - $this->authenticate(); + if (!$this->authenticate()) + return false; } $data = ' @@ -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 = ' @@ -651,4 +856,26 @@ class dvb if ($this->debug) $this->debug_output .= "\n
".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(); + } } diff --git a/skin/images/sancho/sancho_footer.jpg b/skin/images/sancho/sancho_footer.jpg index 1e0b536c9..94274de92 100644 Binary files a/skin/images/sancho/sancho_footer.jpg and b/skin/images/sancho/sancho_footer.jpg differ diff --git a/skin/images/sancho/sancho_header.jpg b/skin/images/sancho/sancho_header.jpg deleted file mode 100644 index 051a05c54..000000000 Binary files a/skin/images/sancho/sancho_header.jpg and /dev/null differ diff --git a/skin/images/sancho/sancho_header_TEMPLATE.xcf b/skin/images/sancho/sancho_header_TEMPLATE.xcf index 8334fd0c1..e4183d9d8 100644 Binary files a/skin/images/sancho/sancho_header_TEMPLATE.xcf and b/skin/images/sancho/sancho_header_TEMPLATE.xcf differ diff --git a/skin/images/sancho/sancho_header_ampel_overdue.jpg b/skin/images/sancho/sancho_header_ampel_overdue.jpg index 84bdad785..b2c2cc31b 100644 Binary files a/skin/images/sancho/sancho_header_ampel_overdue.jpg and b/skin/images/sancho/sancho_header_ampel_overdue.jpg differ diff --git a/skin/images/sancho/sancho_header_du_hast_neue_nachrichten.jpg b/skin/images/sancho/sancho_header_du_hast_neue_nachrichten.jpg index 2bc1657f9..37a52d5ed 100644 Binary files a/skin/images/sancho/sancho_header_du_hast_neue_nachrichten.jpg and b/skin/images/sancho/sancho_header_du_hast_neue_nachrichten.jpg differ diff --git a/skin/images/sancho/sancho_header_du_hast_verpflichtende_ampeln.jpg b/skin/images/sancho/sancho_header_du_hast_verpflichtende_ampeln.jpg index 5ee6ca180..3b4d19ef6 100644 Binary files a/skin/images/sancho/sancho_header_du_hast_verpflichtende_ampeln.jpg and b/skin/images/sancho/sancho_header_du_hast_verpflichtende_ampeln.jpg differ diff --git a/skin/images/sancho/sancho_header_ich_habe_neue_nachrichten_fuer_dich.jpg b/skin/images/sancho/sancho_header_ich_habe_neue_nachrichten_fuer_dich.jpg deleted file mode 100644 index edafa54ce..000000000 Binary files a/skin/images/sancho/sancho_header_ich_habe_neue_nachrichten_fuer_dich.jpg and /dev/null differ diff --git a/skin/images/sancho/sancho_header_neue_nachrichten_in_ampelsystem.jpg b/skin/images/sancho/sancho_header_neue_nachrichten_in_ampelsystem.jpg index e9d23ebc8..b2038f585 100644 Binary files a/skin/images/sancho/sancho_header_neue_nachrichten_in_ampelsystem.jpg and b/skin/images/sancho/sancho_header_neue_nachrichten_in_ampelsystem.jpg differ diff --git a/soap/datenverbund_client.php b/soap/datenverbund_client.php index 0dc47c109..6c85c394b 100644 --- a/soap/datenverbund_client.php +++ b/soap/datenverbund_client.php @@ -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'); ?> @@ -73,6 +74,7 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
  • Matrikelnummer Reservierungen anzeigen
  • Matrikelnummer Kontingent anfordern
  • Matrikelnummer Vergabe melden
  • +
  • Gesamtprozess (Abfrage, ggf Vergabemeldung, Speichern bei Person)


  • @@ -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'); '.$title.': - '.$hint.' '; } 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 '
    Fehlgeschlagen:'.$dvb->errormsg; break; + case 'assignMatrikelnummer': + if($dvb->assignMatrikelnummer($person_id)) + { + echo '
    OK'; + } + else + echo '
    Fehlgeschlagen:'.$dvb->errormsg; + break; + default: echo "Unknown action"; break; diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 12aea86b0..a3b93cbb6 100755 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -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 'WebserviceLog: '.$db->db_last_error().'
    '; + else + echo 'Webservicelog Typ für Datenverbund hinzugefügt'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

    Pruefe Tabellen und Attribute!

    '; diff --git a/vilesci/cronjobs/cronjob.php b/vilesci/cronjobs/cronjob.php index a952bc965..db38eb0e3 100644 --- a/vilesci/cronjobs/cronjob.php +++ b/vilesci/cronjobs/cronjob.php @@ -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();