diff --git a/application/controllers/jobs/AmpelMail.php b/application/controllers/jobs/AmpelMail.php index e27bd5f82..e29cac8fd 100644 --- a/application/controllers/jobs/AmpelMail.php +++ b/application/controllers/jobs/AmpelMail.php @@ -11,12 +11,13 @@ * @filesource */ -if (! defined('BASEPATH')) - exit('No direct script access allowed'); +if (!defined('BASEPATH')) exit('No direct script access allowed'); -class AmpelMail extends FHC_Controller +class AmpelMail extends CLI_Controller { - private $CIS_AMPELVERWALTUNG_URL; + const CIS_AMPELVERWALTUNG_URL = CIS_ROOT. "cis/index.php?menu=". + CIS_ROOT. "cis/menu.php?content_id=&content=". + CIS_ROOT. "cis/private/tools/ampelverwaltung.php"; /** * Constructor @@ -25,39 +26,12 @@ class AmpelMail extends FHC_Controller { parent::__construct(); - // Allow script execution only from CLI - if ($this->input->is_cli_request()) - { - $cli = true; - } - else - { - $this->output->set_status_header(403, 'Jobs must be run from the CLI'); - echo "Jobs must be run from the CLI"; - exit; - } - $this->CIS_AMPELVERWALTUNG_URL = CIS_ROOT. "cis/index.php?menu=". - CIS_ROOT. "cis/menu.php?content_id=&content=". - CIS_ROOT. "cis/private/tools/ampelverwaltung.php"; + // Load helpers + $this->load->helper('hlp_sancho'); + // Load models $this->load->model('content/Ampel_model', 'AmpelModel'); $this->load->model('person/Person_model', 'PersonModel'); - - // Load helpers - $this->load->helper('hlp_sancho'); - } - - /** - * Main function index as help - * - * @return void - */ - public function index() - { - $result = "The following are the available command line interface commands\n\n"; - $result .= "php index.ci.php jobs/AmpelMail generateAmpelMail"; - - echo $result. PHP_EOL; } /** @@ -210,7 +184,7 @@ class AmpelMail extends FHC_Controller 'uid' => $uid, 'firstName' => $firstName, 'ampel_list' => $html_text, - 'link' => $this->CIS_AMPELVERWALTUNG_URL + 'link' => self::CIS_AMPELVERWALTUNG_URL ); } return $ampel_data_arr; diff --git a/application/controllers/jobs/LVPlanJob.php b/application/controllers/jobs/LVPlanJob.php index dd368974c..2688e5cc9 100644 --- a/application/controllers/jobs/LVPlanJob.php +++ b/application/controllers/jobs/LVPlanJob.php @@ -17,10 +17,9 @@ * * Authors: Andreas Oesterreicher */ -if (! defined('BASEPATH')) - exit('No direct script access allowed'); +if (!defined('BASEPATH')) exit('No direct script access allowed'); -class LVPlanJob extends FHC_Controller +class LVPlanJob extends CLI_Controller { /** * Initialize LVPlanJob Class @@ -29,32 +28,7 @@ class LVPlanJob extends FHC_Controller */ public function __construct() { - // An empty array as parameter will ensure that this controller is ONLY callable from command line - parent::__construct(array()); - - if ($this->input->is_cli_request()) - { - $cli = true; - } - else - { - $this->output->set_status_header(403, 'Jobs must be run from the CLI'); - echo "Jobs must be run from the CLI"; - exit; - } - } - - /** - * Main function index as help - * - * @return void - */ - public function index() - { - $result = "The following are the available command line interface commands\n\n"; - $result .= "php ".$this->config->item('index_page')." jobs/LVPlanJob AddDirectGroups"; - - echo $result.PHP_EOL; + parent::__construct(); } /** diff --git a/application/controllers/jobs/Prestudentstatus.php b/application/controllers/jobs/Prestudentstatus.php index 3f8a0e903..27cafeb0e 100644 --- a/application/controllers/jobs/Prestudentstatus.php +++ b/application/controllers/jobs/Prestudentstatus.php @@ -7,8 +7,7 @@ if (! defined('BASEPATH')) * Database Class * */ - -class Prestudentstatus extends FHC_Controller +class Prestudentstatus extends CLI_Controller { /** * Initialize Prestudentstatus Class @@ -17,32 +16,7 @@ class Prestudentstatus extends FHC_Controller */ public function __construct() { - // An empty array as parameter will ensure that this controller is ONLY callable from command line - parent::__construct(array()); - - if ($this->input->is_cli_request()) - { - $cli = true; - } - else - { - $this->output->set_status_header(403, 'Jobs must be run from the CLI'); - echo "Jobs must be run from the CLI"; - exit; - } - } - - /** - * Main function index as help - * - * @return void - */ - public function index() - { - $result = "The following are the available command line interface commands\n\n"; - $result .= "php ".$this->config->item('index_page')." jobs/Prestudentstatus CorrectStudienplan"; - - echo $result.PHP_EOL; + parent::__construct(); } /** diff --git a/application/controllers/jobs/ReihungstestJob.php b/application/controllers/jobs/ReihungstestJob.php index 7f952f96f..98932911b 100644 --- a/application/controllers/jobs/ReihungstestJob.php +++ b/application/controllers/jobs/ReihungstestJob.php @@ -1,11 +1,9 @@ input->is_cli_request()) - { - $cli = true; - } - else - { - $this->output->set_status_header(403, 'Jobs must be run from the CLI'); - echo "Jobs must be run from the CLI"; - exit; - } - - $this->VILESCI_RT_VERWALTUNGS_URL = site_url('/organisation/Reihungstest'); - // Load models $this->load->model('crm/Reihungstest_model', 'ReihungstestModel'); $this->load->model('crm/RtStudienplan_model', 'RtStudienplanModel'); @@ -38,18 +22,8 @@ class ReihungstestJob extends FHC_Controller } /** - * Main function index as help - * - * @return void + * runReihungstestJob */ - public function index() - { - $result = "The following are the available command line interface commands\n\n"; - $result .= "php index.ci.php jobs/ReihungstestJob runReihungstestInfo"; - - echo $result. PHP_EOL; - } - public function runReihungstestJob() { // Get study plans that have no assigned placement tests yet @@ -92,6 +66,9 @@ class ReihungstestJob extends FHC_Controller } } + /** + * runZentraleReihungstestAnmeldefristAssistenzJob + */ public function runZentraleReihungstestAnmeldefristAssistenzJob() { // Get placement tests where registration date was yesterday @@ -198,7 +175,6 @@ class ReihungstestJob extends FHC_Controller $mailcontent .= '

Mail an alle schicken

'; } $mailcontent_data_arr['table'] = $mailcontent; - //$mailcontent_data_arr['link'] = $this->VILESCI_RT_VERWALTUNGS_URL; // Send email in Sancho design if (!isEmptyString($mailcontent)) @@ -215,7 +191,9 @@ class ReihungstestJob extends FHC_Controller } } - // Checks, if an applicant was assigned to a test after Anmeldefrist + /** + * Checks, if an applicant was assigned to a test after Anmeldefrist + */ public function runZentraleReihungstestNachtraeglichHinzugefuegtJob() { // Get applicants that have been added to a test after Anmeldefrist @@ -315,6 +293,9 @@ class ReihungstestJob extends FHC_Controller } } + /** + * runRemindApplicantsOfPlacementTestJob + */ public function runRemindApplicantsOfPlacementTestJob() { // Get placement tests with testdate within 3 working days @@ -473,8 +454,7 @@ class ReihungstestJob extends FHC_Controller // Set associative array with the prepared HTML tables and URL be used by the template's variables $content_data_arr['studienplan_list'] = $studienplan_list; $content_data_arr['freie_plaetze_list'] = $freie_plaetze_list; - $content_data_arr['link'] = $this->VILESCI_RT_VERWALTUNGS_URL; - ; + $content_data_arr['link'] = site_url('/organisation/Reihungstest'); return $content_data_arr; } diff --git a/application/controllers/system/Filters.php b/application/controllers/system/Filters.php index ccbc880dd..3bdb6dde2 100644 --- a/application/controllers/system/Filters.php +++ b/application/controllers/system/Filters.php @@ -35,7 +35,7 @@ class Filters extends FHC_Controller // Public methods /** - * Retrives data about the current filter from the session and will be written on the output in JSON format + * Retrieves data about the current filter from the session and will be written on the output in JSON format */ public function getFilter() { @@ -43,7 +43,7 @@ class Filters extends FHC_Controller } /** - * Retrives the number of records present in the current dataset and will be written on the output in JSON format + * Retrieves the number of records present in the current dataset and will be written on the output in JSON format */ public function rowNumber() { @@ -243,11 +243,11 @@ class Filters extends FHC_Controller // If it is present in the HTTP GET if (isset($_GET[self::FILTER_PAGE_PARAM])) { - $filterPage = $this->input->get(self::FILTER_PAGE_PARAM); // is retrived from the HTTP GET + $filterPage = $this->input->get(self::FILTER_PAGE_PARAM); // is retrieved from the HTTP GET } elseif (isset($_POST[self::FILTER_PAGE_PARAM])) // Else if it is present in the HTTP POST { - $filterPage = $this->input->post(self::FILTER_PAGE_PARAM); // is retrived from the HTTP POST + $filterPage = $this->input->post(self::FILTER_PAGE_PARAM); // is retrieved from the HTTP POST } // Loads the FiltersLib that contains all the used logic diff --git a/application/controllers/system/Navigation.php b/application/controllers/system/Navigation.php index 7f10fadc8..1abf7d9a8 100644 --- a/application/controllers/system/Navigation.php +++ b/application/controllers/system/Navigation.php @@ -69,11 +69,11 @@ class Navigation extends Auth_Controller // If it is present in the HTTP GET if (isset($_GET[self::NAVIGATION_PAGE_PARAM])) { - $navigationPage = $this->input->get(self::NAVIGATION_PAGE_PARAM); // is retrived from the HTTP GET + $navigationPage = $this->input->get(self::NAVIGATION_PAGE_PARAM); // is retrieved from the HTTP GET } elseif (isset($_POST[self::NAVIGATION_PAGE_PARAM])) // Else if it is present in the HTTP POST { - $navigationPage = $this->input->post(self::NAVIGATION_PAGE_PARAM); // is retrived from the HTTP POST + $navigationPage = $this->input->post(self::NAVIGATION_PAGE_PARAM); // is retrieved from the HTTP POST } // Loads the NavigationLib that contains all the used logic diff --git a/application/core/Auth_Controller.php b/application/core/Auth_Controller.php index dfddc5d30..1427a318d 100644 --- a/application/core/Auth_Controller.php +++ b/application/core/Auth_Controller.php @@ -34,7 +34,7 @@ class Auth_Controller extends FHC_Controller // Checks if this user is entitled to access to this content if (!$this->permissionlib->isEntitled($requiredPermissions, $this->router->method)) { - header('HTTP/1.0 401 Unauthorized'); // set the HTTP header as unauthorized + $this->output->set_status_header(REST_Controller::HTTP_UNAUTHORIZED); // set the HTTP header as unauthorized $this->load->library('EPrintfLib'); // loads the EPrintfLib to format the output diff --git a/application/core/CLI_Controller.php b/application/core/CLI_Controller.php new file mode 100644 index 000000000..61e3eb4c9 --- /dev/null +++ b/application/core/CLI_Controller.php @@ -0,0 +1,102 @@ +_isAllowed(); + } + + /** + * By default the index is used to print the help message to explain how to call them from command line + */ + public function index() + { + $this->printHelp(); + } + + /** + * Retrieves all the public methods of the called controller and display + * a help message to explain how to call them from command line + */ + protected function printHelp() + { + $this->load->library('EPrintfLib'); // loads the EPrintfLib to format the output + + $this->eprintflib->printInfo('The following are the available commands:'); + $this->eprintflib->printInfo(''); + + // Gets a list of public methods of the called controller + $reflectionClass = new ReflectionClass($this->router->class); + $methods = $reflectionClass->getMethods(ReflectionMethod::IS_PUBLIC); + + // Loops through them + foreach ($methods as $method) + { + // Disascard the black listed methods + if (!in_array($method->name, self::BLACKLIST_METHODS)) + { + // Formatted message + $info = sprintf( + self::INFO_FORMAT, // Message format + PHP_BINARY, // PHP binary name + index_page(), // CI index page name + $this->router->class, // The called controller name + $method->name // The called controller current method name + ); + + // Retrieves the parameter names for the current method + $reflectionMethod = new ReflectionMethod($this->router->class, $method->name); + $parameters = $reflectionMethod->getParameters(); + + // Loops through them + foreach ($parameters as $parameter) + { + $info .= sprintf( + $parameter->isOptional() ? self::OPTIONAL_PARAM_FORMAT : self::REQUIRED_PARAM_FORMAT, // Parameter message format required/optional + $parameter->getName() // Current method parameter name + ); + } + + // Print the info message + $this->eprintflib->printInfo($info); + $this->eprintflib->printInfo(''); + } + } + } + + /** + * Checks if the controller is called from the command line, if NOT the execution is immediately stopped + */ + private function _isAllowed() + { + if (!$this->input->is_cli_request()) + { + $this->output->set_status_header(REST_Controller::HTTP_UNAUTHORIZED); + + $this->load->library('EPrintfLib'); // loads the EPrintfLib to format the output + + // Prints the main error message + $this->eprintflib->printError('You are not authorized to access this content'); + // Prints the called controller name + $this->eprintflib->printInfo('Controller name: '.$this->router->class); + // Prints the called controller method name + $this->eprintflib->printInfo('Method name: '.$this->router->method); + + exit; + } + } +} diff --git a/application/core/DB_Model.php b/application/core/DB_Model.php index 36474f9d3..b1e88e164 100644 --- a/application/core/DB_Model.php +++ b/application/core/DB_Model.php @@ -706,7 +706,7 @@ class DB_Model extends CI_Model } /** - * Get meda data info about the retrived fields after having executed a query + * Get meda data info about the retrieved fields after having executed a query */ public function getExecutedQueryMetaData() { @@ -863,7 +863,7 @@ class DB_Model extends CI_Model $toBeConverterdArray = array(); // Fields to be converted $this->executedQueryMetaData = $result->field_data(); // Fields information - $this->executedQueryListFields = $result->list_fields(); // List of the retrived fields + $this->executedQueryListFields = $result->list_fields(); // List of the retrieved fields for ($i = 0; $i < count($this->executedQueryMetaData); $i++) // Looking for booleans and arrays { diff --git a/application/helpers/hlp_language_helper.php b/application/helpers/hlp_language_helper.php index ce01c5f0d..d80175fa7 100644 --- a/application/helpers/hlp_language_helper.php +++ b/application/helpers/hlp_language_helper.php @@ -17,8 +17,8 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); // ------------------------------------------------------------------------ /** - * Function to retrive the language of the logged user - * If is not possible to retrive it, then the default system language is returnd + * Function to retrieve the language of the logged user + * If is not possible to retrieve it, then the default system language is returnd * If as parameter is given a valid language the it's returned useful to avoid * to write the same control structures for the language */ @@ -28,9 +28,9 @@ function getUserLanguage($language = null) $ci =& get_instance(); // get CI instance - // Use the default system language, if it's possible retrives the language for the logged user + // Use the default system language, if it's possible retrieves the language for the logged user $language = DEFAULT_LANGUAGE; - // Checks if the user is authenticated to retrive the users's language + // Checks if the user is authenticated to retrieve the users's language // NOTE: this helper could be called when the user is not logged in the system // so this is why is checked if the function getAuthUID exists if (function_exists('getAuthUID')) diff --git a/application/libraries/AuthLib.php b/application/libraries/AuthLib.php index 43b8bd2d6..deebcb3ee 100644 --- a/application/libraries/AuthLib.php +++ b/application/libraries/AuthLib.php @@ -305,7 +305,7 @@ class AuthLib */ private function _showInvalidAuthentication() { - header('HTTP/1.0 401 Unauthorized'); // set the HTTP header as unauthorized + $this->_ci->output->set_status_header(REST_Controller::HTTP_UNAUTHORIZED); // set the HTTP header as unauthorized unset($_SERVER['PHP_AUTH_USER']); $this->_ci->load->library('EPrintfLib'); // loads the EPrintfLib to format the output @@ -325,6 +325,8 @@ class AuthLib */ private function _showError($errorMessage) { + $this->_ci->output->set_status_header(REST_Controller::HTTP_UNAUTHORIZED); // set the HTTP header as unauthorized + $this->_ci->load->library('EPrintfLib'); // loads the EPrintfLib to format the output $this->_ci->load->library('LogLib'); // Loads the logs library diff --git a/application/libraries/ExtensionsLib.php b/application/libraries/ExtensionsLib.php index f678a0bc1..cec40a753 100644 --- a/application/libraries/ExtensionsLib.php +++ b/application/libraries/ExtensionsLib.php @@ -7,7 +7,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); */ class ExtensionsLib { - const SQL_DIRECTORY = 'sql'; // directory where to retrive SQL scripts + const SQL_DIRECTORY = 'sql'; // directory where to retrieve SQL scripts const SQL_FILE_EXTENSION = '.sql'; // SQL scripts file extension const FILE_INPUT_NAME = 'extension'; // name of the HTTP parameter containing the archive data @@ -200,7 +200,7 @@ class ExtensionsLib } /** - * Retrive the list of all the installed extensions + * Retrieve the list of all the installed extensions */ public function getInstalledExtensions() { @@ -253,7 +253,7 @@ class ExtensionsLib // If the upload was a success if ($this->_ci->upload->do_upload(ExtensionsLib::FILE_INPUT_NAME)) { - $uploadData = $this->_ci->upload->data(); // retrives data about the uploaded file + $uploadData = $this->_ci->upload->data(); // retrieves data about the uploaded file // Checks the file extension $uploadedFileExtension = '.'.pathinfo($uploadData['full_path'], PATHINFO_EXTENSION); if (!in_array($uploadedFileExtension, $this->ARCHIVE_EXTENSIONS)) diff --git a/application/libraries/FiltersLib.php b/application/libraries/FiltersLib.php index 975f27289..9d0d67584 100644 --- a/application/libraries/FiltersLib.php +++ b/application/libraries/FiltersLib.php @@ -23,7 +23,7 @@ class FiltersLib const SESSION_DATASET_REPRESENTATION = 'datasetRepresentation'; const SESSION_DATASET_REP_OPTIONS = 'datasetRepresentationOptions'; - // Alias for the dynamic table used to retrive the dataset + // Alias for the dynamic table used to retrieve the dataset const DATASET_TABLE_ALIAS = 'datasetFilterTable'; // Parameters names... @@ -40,7 +40,7 @@ class FiltersLib // ...to specify permissions that are needed to use this FilterWidget const REQUIRED_PERMISSIONS_PARAMETER = 'requiredPermissions'; - // ...stament to retrive the dataset + // ...stament to retrieve the dataset const QUERY_PARAMETER = 'query'; // ...to specify more columns or aliases for them @@ -136,7 +136,7 @@ class FiltersLib } /** - * Wrapper method to the session helper funtions to retrive the whole session for this filter + * Wrapper method to the session helper funtions to retrieve the whole session for this filter */ public function getSession() { @@ -144,7 +144,7 @@ class FiltersLib } /** - * Wrapper method to the session helper funtions to retrive one element from the session of this filter + * Wrapper method to the session helper funtions to retrieve one element from the session of this filter */ public function getSessionElement($name) { @@ -192,7 +192,7 @@ class FiltersLib $this->_ci->FiltersModel->addJoin('public.tbl_benutzer', 'person_id', 'LEFT'); // left join with benutzer table $this->_ci->FiltersModel->addSelect('system.tbl_filters.*'); // select only from table filters $this->_ci->FiltersModel->addOrder('sort', 'ASC'); // sort on column sort - $this->_ci->FiltersModel->addLimit(1); // if more than one filter is set as default only one will be retrived + $this->_ci->FiltersModel->addLimit(1); // if more than one filter is set as default only one will be retrieved $definition = null; $whereParameters = null; // where clause parameters @@ -206,7 +206,7 @@ class FiltersLib } else { - // If we can univocally retrive a filter + // If we can univocally retrieve a filter if ($app != null && $datasetName != null && $filterKurzbz != null) { $whereParameters = array( @@ -280,7 +280,7 @@ class FiltersLib } /** - * Generate the query to retrive the dataset for a filter + * Generate the query to retrieve the dataset for a filter */ public function generateDatasetQuery($query, $filters) { @@ -316,7 +316,7 @@ class FiltersLib } /** - * Retrives the dataset from the DB + * Retrieves the dataset from the DB */ public function getDataset($datasetQuery) { @@ -368,7 +368,7 @@ class FiltersLib // Checks the parameter selectedFields if (isset($selectedFields) && is_array($selectedFields) && count($selectedFields) > 0) { - // Retrives all the used fields by the current filter + // Retrieves all the used fields by the current filter $fields = $this->getSessionElement(self::SESSION_FIELDS); // Checks that the given selected fields are present in all the used fields by the current filter @@ -393,9 +393,9 @@ class FiltersLib // Checks the parameter selectedField if (!isEmptyString($selectedField)) { - // Retrives all the used fields by the current filter + // Retrieves all the used fields by the current filter $fields = $this->getSessionElement(self::SESSION_FIELDS); - // Retrives the selected fields by the current filter + // Retrieves the selected fields by the current filter $selectedFields = $this->getSessionElement(self::SESSION_SELECTED_FIELDS); // Checks that the given selected field is present in the list of all the used fields by the current filter @@ -427,9 +427,9 @@ class FiltersLib // Checks the parameter selectedField if (!isEmptyString($selectedField)) { - // Retrives all the used fields by the current filter + // Retrieves all the used fields by the current filter $fields = $this->getSessionElement(self::SESSION_FIELDS); - // Retrives the selected fields by the current filter + // Retrieves the selected fields by the current filter $selectedFields = $this->getSessionElement(self::SESSION_SELECTED_FIELDS); // Checks that the given selected field is present in the list of all the used fields by the current filter @@ -456,9 +456,9 @@ class FiltersLib // Checks the parameter appliedFilter if (!isEmptyString($appliedFilter)) { - // Retrives all the used fields by the current filter + // Retrieves all the used fields by the current filter $fields = $this->getSessionElement(self::SESSION_FIELDS); - // Retrives the applied filters by the current filter + // Retrieves the applied filters by the current filter $filters = $this->getSessionElement(self::SESSION_FILTERS); // Checks that the given applied filter is present in the list of all the used fields by the current filter @@ -493,7 +493,7 @@ class FiltersLib if (isset($appliedFilters) && is_array($appliedFilters) && isset($appliedFiltersOperations) && is_array($appliedFiltersOperations)) { - $fields = $this->getSessionElement(self::SESSION_FIELDS); // Retrives all the used fields by the current filter + $fields = $this->getSessionElement(self::SESSION_FIELDS); // Retrieves all the used fields by the current filter // Checks that the given applied filters are present in all the used fields by the current filter if (!array_diff($appliedFilters, $fields)) @@ -544,9 +544,9 @@ class FiltersLib // Checks the parameter filter if (!isEmptyString($filter)) { - // Retrives all the used fields by the current filter + // Retrieves all the used fields by the current filter $fields = $this->getSessionElement(self::SESSION_FIELDS); - // Retrives the applied filters by the current filter + // Retrieves the applied filters by the current filter $filters = $this->getSessionElement(self::SESSION_FILTERS); // Checks that the given applied filter is present in the list of all the used fields by the current filter @@ -619,7 +619,7 @@ class FiltersLib // Generates the "column" property $jsonDeifinition->columns = array(); - $selectedFields = $this->getSessionElement(self::SESSION_SELECTED_FIELDS); // retrived the selected fields + $selectedFields = $this->getSessionElement(self::SESSION_SELECTED_FIELDS); // retrieved the selected fields for ($i = 0; $i < count($selectedFields); $i++) { // Each element is an object with a property called "name" diff --git a/application/libraries/MessageLib.php b/application/libraries/MessageLib.php index 0ccbfbefb..feba96473 100644 --- a/application/libraries/MessageLib.php +++ b/application/libraries/MessageLib.php @@ -294,7 +294,7 @@ class MessageLib $result = $this->_ci->PersonModel->load($receiver_id); if (hasData($result)) { - // Retrives the language of the logged user + // Retrieves the language of the logged user $sprache = getUserLanguage(); // Loads template data diff --git a/application/libraries/NavigationLib.php b/application/libraries/NavigationLib.php index 1a2f15023..e2492cef4 100644 --- a/application/libraries/NavigationLib.php +++ b/application/libraries/NavigationLib.php @@ -88,7 +88,7 @@ class NavigationLib } /** - * Wrapper method to the session helper funtions to retrive the whole session for this navigation widget + * Wrapper method to the session helper funtions to retrieve the whole session for this navigation widget */ public function getSessionMenu() { @@ -103,7 +103,7 @@ class NavigationLib } /** - * Wrapper method to the session helper funtions to retrive the whole session for this navigation widget + * Wrapper method to the session helper funtions to retrieve the whole session for this navigation widget */ public function getSessionHeader() { @@ -118,7 +118,7 @@ class NavigationLib } /** - * Wrapper method to the session helper funtions to retrive one element from the session of this navigation widget + * Wrapper method to the session helper funtions to retrieve one element from the session of this navigation widget */ public function getSessionElementMenu($name) { @@ -133,7 +133,7 @@ class NavigationLib } /** - * Wrapper method to the session helper funtions to retrive one element from the session of this navigation widget + * Wrapper method to the session helper funtions to retrieve one element from the session of this navigation widget */ public function getSessionElementHeader($name) { diff --git a/application/libraries/PermissionLib.php b/application/libraries/PermissionLib.php index 76a2fe2c5..b84359216 100644 --- a/application/libraries/PermissionLib.php +++ b/application/libraries/PermissionLib.php @@ -100,7 +100,7 @@ class PermissionLib * - convert the required permissions to an array if needed * - loops through the required permissions * - checks if the permission is well formatted - * - retrives permission and required access type from the $requiredPermissions array + * - retrieves permission and required access type from the $requiredPermissions array * - checks if the required access type is compliant with the HTTP method (GET => r, POST => w) * - if the user has one of the permissions than exit the loop * - checks if the user has the same required permissiond with the same required access type @@ -142,7 +142,7 @@ class PermissionLib // Checks if the permission is well formatted if (strpos($permissions[$pCounter], PermissionLib::PERMISSION_SEPARATOR) !== false) { - // Retrives permission and required access type from the $requiredPermissions array + // Retrieves permission and required access type from the $requiredPermissions array list($permission, $requiredAccessType) = explode(PermissionLib::PERMISSION_SEPARATOR, $permissions[$pCounter]); $accessType = ''; diff --git a/application/libraries/PhrasesLib.php b/application/libraries/PhrasesLib.php index 110e5b0c8..af642fe9e 100644 --- a/application/libraries/PhrasesLib.php +++ b/application/libraries/PhrasesLib.php @@ -5,7 +5,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); class PhrasesLib { private $_ci; // Code igniter instance - private $_phrases; // Contains the retrived phrases + private $_phrases; // Contains the retrieved phrases /** * Loads parser library @@ -88,7 +88,7 @@ class PhrasesLib } /** - * getPhrases() - Retrives phrases from the DB + * getPhrases() - Retrieves phrases from the DB * The given parameter are the same needed to read from the table system.tb_phrase */ public function getPhrases($app, $sprache, $phrase = null, $orgeinheit_kurzbz = null, $orgform_kurzbz = null, $blockTags = null) @@ -175,7 +175,7 @@ class PhrasesLib } /** - * Retrives a phrases from the the property _phrases with the given parameters + * Retrieves a phrases from the the property _phrases with the given parameters * It also replace parameters inside the phrase if they are provided * @param string $category Category name which is used to categorize the phrase. * @param string $phrase Phrase name. @@ -239,7 +239,7 @@ class PhrasesLib $categories = array($categories); } - // Retrives the language of the logged user + // Retrieves the language of the logged user $language = getUserLanguage(count($parameters) == 2 ? $parameters[1] : null); // If only categories is not an empty array then loads phrases diff --git a/application/libraries/UDFLib.php b/application/libraries/UDFLib.php index 1e46eaade..6166b44a9 100644 --- a/application/libraries/UDFLib.php +++ b/application/libraries/UDFLib.php @@ -43,7 +43,7 @@ class UDFLib const CHKBOX_TYPE = 'checkbox'; // UDF checkbox type - const PHRASES_APP_NAME = 'core'; // Name of the app parameter used to retrive phrases + const PHRASES_APP_NAME = 'core'; // Name of the app parameter used to retrieve phrases private $_ci; // Code igniter instance @@ -620,7 +620,7 @@ class UDFLib { $parameters = $jsonSchema->{UDFLib::LIST_VALUES}->enum; } - // If the list of values to show should be retrived with a SQL statement + // If the list of values to show should be retrieved with a SQL statement elseif (isset($jsonSchema->{UDFLib::LIST_VALUES}->sql)) { // UDFModel is loaded in method _loadUDF that is called before the current method diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index 7a42532e1..b689f4fcb 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -200,7 +200,7 @@ class Person_model extends DB_Model } /** - * Retrives the language of the user by the UID + * Retrieves the language of the user by the UID * Gets all the persons related to the given UID and starting from the most recent person in DB * tries to find a valid language (!= null), if found is returned, otherwise is returned the * default global language of the system diff --git a/application/models/system/Phrase_model.php b/application/models/system/Phrase_model.php index 50b36a429..c7414d408 100644 --- a/application/models/system/Phrase_model.php +++ b/application/models/system/Phrase_model.php @@ -57,7 +57,7 @@ class Phrase_model extends DB_Model /** * Loads phrases using category(s) and language as keys - * The retrived fields are category, phrase, orgeinheit_kurzbz, orgform_kurzbz and text + * The retrieved fields are category, phrase, orgeinheit_kurzbz, orgform_kurzbz and text * They are ordered by p.category, p.phrase, pt.orgeinheit_kurzbz DESC and pt.orgform_kurzbz DESC' */ public function getPhrasesByCategoryAndLanguage($categories, $language) diff --git a/application/views/templates/FHC-Header.php b/application/views/templates/FHC-Header.php index c2fd3915c..43112dd7b 100644 --- a/application/views/templates/FHC-Header.php +++ b/application/views/templates/FHC-Header.php @@ -2,7 +2,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); - // Retrives the name of the index page, the URL path of the called controller and the called controller + // Retrieves the name of the index page, the URL path of the called controller and the called controller // NOTE: placed here because it doesn't work inside functions $indexPage = $this->config->item('index_page'); $calledPath = $this->router->directory.$this->router->class; diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php index b4e81788f..84a4d138b 100644 --- a/application/widgets/FilterWidget.php +++ b/application/widgets/FilterWidget.php @@ -170,13 +170,13 @@ class FilterWidget extends Widget $this->_datasetRepresentation = null; $this->_datasetRepresentationOptions = null; - // Retrived the required permissions parameter if present + // Retrieved the required permissions parameter if present if (isset($args[FiltersLib::REQUIRED_PERMISSIONS_PARAMETER])) { $this->_requiredPermissions = $args[FiltersLib::REQUIRED_PERMISSIONS_PARAMETER]; } - // Parameters needed to retrive univocally a filter from DB + // Parameters needed to retrieve univocally a filter from DB if (isset($args[FiltersLib::APP_PARAMETER])) { $this->_app = $args[FiltersLib::APP_PARAMETER]; @@ -197,7 +197,7 @@ class FilterWidget extends Widget $this->_filterId = $args[FiltersLib::FILTER_ID]; } - // How to retrive data for the filter: SQL statement or a result from DB + // How to retrieve data for the filter: SQL statement or a result from DB if (isset($args[FiltersLib::QUERY_PARAMETER])) { $this->_query = $args[FiltersLib::QUERY_PARAMETER]; @@ -329,7 +329,7 @@ class FilterWidget extends Widget // If session is NOT empty -> a filter was already loaded if ($session != null) { - // Retrive the filterId stored in the session + // Retrieve the filterId stored in the session $sessionFilterId = $this->filterslib->getSessionElement(FiltersLib::FILTER_ID); // If the filter loaded in session is NOT the same that is being requested then empty the session @@ -355,7 +355,7 @@ class FilterWidget extends Widget $this->filterslib->getSessionElement(FiltersLib::SESSION_FILTERS) ); - // Then retrive dataset from DB + // Then retrieve dataset from DB $dataset = $this->filterslib->getDataset($datasetQuery); // Save changes into session if data are valid @@ -392,7 +392,7 @@ class FilterWidget extends Widget // Generate dataset query $datasetQuery = $this->filterslib->generateDatasetQuery($this->_query, $parsedFilterJson->filters); - // Then retrive dataset from DB + // Then retrieve dataset from DB $dataset = $this->filterslib->getDataset($datasetQuery); // Try to load the name of the filter using the PhrasesLib @@ -448,7 +448,7 @@ class FilterWidget extends Widget /** * Calls the method _markRow and _formatRow to marks rows using markRow and format rowns using formatRow - * NOTE: this method operates directly on the retrived dataset: parameter passed by reference + * NOTE: this method operates directly on the retrieved dataset: parameter passed by reference */ private function _formatDataset(&$rawDataset) { @@ -471,7 +471,7 @@ class FilterWidget extends Widget * - converts booleans into strings "true" and "false" * - format dates using the format string defined in DEFAULT_DATE_FORMAT * Calls the parameter formatRow if it was given and if it is a valid funtion - * NOTE: this method operates directly on the retrived dataset: parameter passed by reference + * NOTE: this method operates directly on the retrieved dataset: parameter passed by reference */ private function _formatRow(&$rawDatasetRow) { @@ -514,7 +514,7 @@ class FilterWidget extends Widget } /** - * Utility method that retrives the name of the columns present in a filter JSON definition + * Utility method that retrieves the name of the columns present in a filter JSON definition */ private function _getColumnsNames($columns) { diff --git a/cis/testtool/login.php b/cis/testtool/login.php index 06997012f..7f927a7c9 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -1,524 +1,549 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl , - * Manfred Kindl - * Cristina Hainberger - */ - -require_once('../../config/cis.config.inc.php'); -require_once('../../config/global.config.inc.php'); -require_once('../../include/person.class.php'); -require_once('../../include/prestudent.class.php'); -require_once('../../include/pruefling.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/studienplan.class.php'); -require_once('../../include/ablauf.class.php'); -require_once('../../include/reihungstest.class.php'); -require_once('../../include/sprache.class.php'); -require_once '../../include/phrasen.class.php'; -require_once '../../include/datum.class.php'; - -if (!$db = new basis_db()) - die('Fehler beim Oeffnen der Datenbankverbindung'); - -//if(isset($_GET['lang'])) -// setSprache($_GET['lang']); - -$date = new datum(); - -function getSpracheUser() -{ - if(isset($_SESSION['sprache_user'])) - { - $sprache_user=$_SESSION['sprache_user']; - } - else - { - if(isset($_COOKIE['sprache_user'])) - { - $sprache_user=$_COOKIE['sprache_user']; - } - else - { - $sprache_user=DEFAULT_LANGUAGE; - } - setSpracheUser($sprache_user); - } - return $sprache_user; -} - -function setSpracheUser($sprache) -{ - $_SESSION['sprache_user']=$sprache; - setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); -} - -if(isset($_GET['sprache_user'])) -{ - $sprache_user = new sprache(); - if($sprache_user->load($_GET['sprache_user'])) - { - setSpracheUser($_GET['sprache_user']); - } - else - setSpracheUser(DEFAULT_LANGUAGE); -} - -$sprache_user = getSpracheUser(); -$p = new phrasen($sprache_user); - -$gebdatum=''; - -session_start(); -$reload=false; -$reload_parent=false; - -$sg_var = new studiengang(); - -if (isset($_GET['logout'])) -{ - if(isset($_SESSION['prestudent_id'])) - { - $reload = true; - session_destroy(); - } -} - -if(isset($_POST['gebdatum']) && $_POST['gebdatum']!='') -{ - $gebdatum = $date->formatDatum($_POST['gebdatum'],'Y-m-d'); -} -else - $gebdatum=''; - -if (isset($_POST['prestudent']) && isset($gebdatum)) -{ - $ps=new prestudent($_POST['prestudent']); - - //Geburtsdatum Pruefen - if ($gebdatum==$ps->gebdatum) - { - $reihungstest_id=''; - //Freischaltung fuer zugeteilten Reihungstest pruefen - $rt = new reihungstest(); - - // Wenns der Dummy ist dann extra laden - $prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:''); - if($prestudent_id_dummy_student==$ps->prestudent_id) - { - $rt->getReihungstestPerson($ps->person_id); - if(isset($rt->result[0])) - $reihungstest_id = $rt->result[0]->reihungstest_id; - else - { - echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; - } - } - else - { - if($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d'))) - { - // TODO Was ist wenn da mehrere Zurueckkommen?! - if(isset($rt->result[0])) - $reihungstest_id = $rt->result[0]->reihungstest_id; - else - { - echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; - } - } - else - { - echo 'Failed:'.$rt->errormsg; - } - } - //echo "Reihungstest $reihungstest_id"; - if($reihungstest_id != '' && $rt->load($reihungstest_id)) - { - if($rt->freigeschaltet) - { - $pruefling = new pruefling(); - if($pruefling->getPruefling($ps->prestudent_id)) - { - $studiengang = $pruefling->studiengang_kz; - $semester = $pruefling->semester; - } - else - { - $studiengang = $ps->studiengang_kz; - $ps->getLastStatus($ps->prestudent_id); - $semester = $ps->ausbildungssemester; - } - if($semester=='') - $semester=1; - - $_SESSION['prestudent_id']=$_POST['prestudent']; - $_SESSION['studiengang_kz']=$studiengang; - $_SESSION['nachname']=$ps->nachname; - $_SESSION['vorname']=$ps->vorname; - $_SESSION['gebdatum']=$ps->gebdatum; - $stg_obj = new studiengang($studiengang); - $_SESSION['sprache']=$stg_obj->sprache; - - $_SESSION['semester']=$semester; - - // STG und Studienplan mit der höchsten Prio ermitteln - $firstPrio_studienplan_id = ''; - $firstPrio_studiengang_kz = ''; - - $ps->getActualInteressenten($_POST['prestudent'], true); - foreach($ps->result as $row) - { - if(isset($row->studiengang_kz)) - { - $firstPrio_studienplan_id = $row->studienplan_id; - break; - } - } - foreach($ps->result as $row) - { - if(isset($row->studiengang_kz)) - { - $firstPrio_studiengang_kz = $row->studiengang_kz; - break; - } - } - - // Sprachvorgaben zu STG mit höchster Prio ermitteln - - // * 1. Sprache über Ablauf Vorgaben ermitteln - $ablauf = new Ablauf(); - $ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz); - $rt_sprache = ''; - - if(!empty($ablauf->result[0])) - { - $rt_sprache = $ablauf->result[0]->sprache; - } - - // * 2. falls keine Sprache vorhanden -> Sprache über Studienplan ermitteln - if (empty($rt_sprache)) - { - $stpl = new Studienplan(); - $stpl->loadStudienplan($firstPrio_studienplan_id); - $rt_sprache = $stpl->sprache; - } - - // * 3. falls keine Sprache vorhanden -> Sprache über Studiengang ermitteln - if (empty($rt_sprache)) - { - $stg = new Studiengang($firstPrio_studiengang_kz); - $rt_sprache = $stg->sprache; - } - - // * 4. Sprache setzen. Falls keine Sprache vorhanden -> DEFAULT language verwenden - if (empty($rt_sprache)) - { - $_SESSION['sprache'] = DEFAULT_LANGUAGE; - } - else - { - $_SESSION['sprache'] = $rt_sprache; - } - } - else - { - echo ''.$p->t('testtool/reihungstestNichtFreigeschalten').''; - } - } - else - { - echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; - } - } - else - { - echo ''.$p->t('testtool/geburtsdatumStimmtNichtUeberein').''; - } -} - -if (isset($_SESSION['prestudent_id'])) - $prestudent_id=$_SESSION['prestudent_id']; -else -{ - //$prestudent_id=null; - $ps=new prestudent(); - $datum=date('Y-m-d'); - $ps->getPrestudentRT($datum); -} - -if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache'])) -{ - setSprache($_GET['sprache']); -} - -if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])) -{ - $pruefling = new pruefling(); - - //wenn kein Prüfling geladen werden kann - if(!$pruefling->getPruefling($_SESSION['prestudent_id'])) - $pruefling->new = true; - else - $pruefling->new = false; - - $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; - $pruefling->semester = $_SESSION['semester']; - - $pruefling->idnachweis = ''; - $pruefling->registriert = date('Y-m-d H:i:s'); - $pruefling->prestudent_id = $_SESSION['prestudent_id']; - if($pruefling->save()) - { - $_SESSION['pruefling_id']=$pruefling->pruefling_id; - $reload_parent=true; - } -} - -if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) -{ - $pruefling = new pruefling(); - if($_POST['pruefling_id']!='') - if(!$pruefling->load($_POST['pruefling_id'])) - die('Pruefling wurde nicht gefunden'); - else - $pruefling->new=false; - else - $pruefling->new=true; - - $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; - $pruefling->idnachweis = isset($_POST['idnachweis'])?$_POST['idnachweis']:''; - $pruefling->registriert = date('Y-m-d H:i:s'); - $pruefling->prestudent_id = $_SESSION['prestudent_id']; - $pruefling->semester = $_POST['semester']; - if($pruefling->save()) - { - $_SESSION['pruefling_id']=$pruefling->pruefling_id; - $_SESSION['semester']=$pruefling->semester; - $reload_parent=true; - } -} -?> - - - - - - - - -parent.menu.location.reload();'; //CRIS: nach reload()ein ; ergänzt - - if($reload) - echo ""; -?> - - - -'.$p->t('testtool/startseite').''; - -//REIHUNGSTEST STARTSEITE (nach Login) - if (isset($prestudent_id)) - { - - $prestudent = new prestudent($prestudent_id); - $stg_obj = new studiengang($prestudent->studiengang_kz); - $pruefling = new pruefling(); - $typ = new studiengang($prestudent->studiengang_kz); - $typ->getStudiengangTyp($stg_obj->typ); - - // STG mit der höchsten Prio ermitteln - $ps = new Prestudent(); - - // * prinzipiell STG der session übernehmem - $firstPrio_studiengang_kz = $prestudent->studiengang_kz;; - - // * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller - // Bachelor-STG ermitteln, an denen die Person noch interessiert ist - if ($typ->typ == 'b') - { - $ps->getActualInteressenten($prestudent_id, true, 'b'); - foreach($ps->result as $row_prio) - { - if(isset($row_prio->studiengang_kz)) - { - $firstPrio_studiengang_kz = $row_prio->studiengang_kz; - break; - } - } - } - - // Sprachwahl zu STG mit höchster Prio ermitteln - $ablauf = new Ablauf(); - $sprachwahl = false; - if ($ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz) && is_bool($ablauf->result[0]->sprachwahl)) - { - $sprachwahl = $ablauf->result[0]->sprachwahl; - } - - //Prestudent Informationen und Logout - echo '
'; - echo '
'.$p->t('testtool/begruessungstext').'

'; - echo ''.$p->t('zeitaufzeichnung/id').': '.$_SESSION['prestudent_id'].'
'; - echo ''.$p->t('global/name').': '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'
'; - echo ''.$p->t('global/geburtsdatum').': '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'
'; - - // * wenn Prestudent an mehreren Bachelor-Studiengängen interessiert ist, dann alle STG anführen - if ($typ->typ == 'b') - { - $ps_arr = new Prestudent(); - $ps_arr->getActualInteressenten($prestudent_id, false, 'b'); - - if (count($ps_arr->result) > 1) - { - echo ''.$p->t('global/studiengang'). ":

"; - foreach ($ps_arr->result as $ps_obj) - { - $stg = new Studiengang($ps_obj->studiengang_kz); - echo "
  • ". $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '
    '. "
  • "; - } - echo "
    "; - } - // * wenn Prestudent nur an einem Bachelor-Studiengang interessiert ist, dann nur den einen STG anführen - else - { - echo ''.$p->t('global/studiengang').': '. $typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'

    '; - } - } - // * wenn Prestudent an einem Master-Studiengang interessiert ist, dann nur den einen STG anführen - else - { - echo ''.$p->t('global/studiengang').': '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'

    '; - } - echo ''; - echo '
    '; - echo '

    '; - - if($pruefling->getPruefling($prestudent_id)) - { - echo '
    '; - echo ''; - echo ''; - //echo ''; - //echo ''; - //echo ''; - echo '
    '.$p->t('global/semester').': 
    ID Nachweis:
    '; - echo '
    '; - - //Wenn die Sprachwahl fuer den priorisierten Studiengang aktiviert ist, dann die Sprachen anzeigen - if($sprachwahl==true) - { - //Liste der Sprachen, die in den Gebieten vorkommen koennen - $qry = "SELECT distinct sprache - FROM - testtool.tbl_pruefling - JOIN testtool.tbl_ablauf USING(studiengang_kz) - JOIN testtool.tbl_frage USING(gebiet_id) - JOIN testtool.tbl_frage_sprache USING(frage_id) - WHERE - tbl_pruefling.pruefling_id=".$db->db_add_param($pruefling->pruefling_id)." - ORDER BY sprache DESC"; - echo $p->t('testtool/spracheDerTestfragen').':'; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - if($_SESSION['sprache']==$row->sprache) - $selected='style="border:1px solid black;"'; - else - $selected=''; - echo " sprache' class='Item' $selected>$row->sprache"; - } - } - } - echo '


    '.$p->t('testtool/klickenSieAufEinTeilgebiet').''; - if($pruefling->pruefling_id!='') - { - $_SESSION['pruefling_id']=$pruefling->pruefling_id; - echo ''; - } - } - else - { - echo ''.$p->t('testtool/keinPrueflingseintragVorhanden').''; - } - } - else - { - //LOGIN FORM (Startseite vor Login) - $prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:''); - - echo '
    - '; - echo '  '.$p->t('global/geburtsdatum').': '; - echo ''; - echo '  '; - echo '
    '; - - echo '


    -
    - '.$p->t('testtool/willkommenstext').' -
    '; - } -?> - - - +, + * Andreas Oesterreicher , + * Rudolf Hangl , + * Manfred Kindl + * Cristina Hainberger + */ + +require_once('../../config/cis.config.inc.php'); +require_once('../../config/global.config.inc.php'); +require_once('../../include/person.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/pruefling.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/studienplan.class.php'); +require_once('../../include/ablauf.class.php'); +require_once('../../include/reihungstest.class.php'); +require_once('../../include/sprache.class.php'); +require_once '../../include/phrasen.class.php'; +require_once '../../include/datum.class.php'; + +if (!$db = new basis_db()) + die('Fehler beim Oeffnen der Datenbankverbindung'); + +//if(isset($_GET['lang'])) +// setSprache($_GET['lang']); + +$date = new datum(); + +function getSpracheUser() +{ + if(isset($_SESSION['sprache_user'])) + { + $sprache_user=$_SESSION['sprache_user']; + } + else + { + if(isset($_COOKIE['sprache_user'])) + { + $sprache_user=$_COOKIE['sprache_user']; + } + else + { + $sprache_user=DEFAULT_LANGUAGE; + } + setSpracheUser($sprache_user); + } + return $sprache_user; +} + +function setSpracheUser($sprache) +{ + $_SESSION['sprache_user']=$sprache; + setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); +} + +if(isset($_GET['sprache_user'])) +{ + $sprache_user = new sprache(); + if($sprache_user->load($_GET['sprache_user'])) + { + setSpracheUser($_GET['sprache_user']); + } + else + setSpracheUser(DEFAULT_LANGUAGE); +} + +$sprache_user = getSpracheUser(); +$p = new phrasen($sprache_user); + +$gebdatum=''; + +session_start(); +$reload=false; +$reload_parent=false; + +$sg_var = new studiengang(); + +if (isset($_GET['logout'])) +{ + if(isset($_SESSION['prestudent_id'])) + { + $reload = true; + session_destroy(); + } +} + +if(isset($_POST['gebdatum']) && $_POST['gebdatum']!='') +{ + $gebdatum = $date->formatDatum($_POST['gebdatum'],'Y-m-d'); +} +else + $gebdatum=''; + +if (isset($_POST['prestudent']) && isset($gebdatum)) +{ + $ps=new prestudent($_POST['prestudent']); + + //Geburtsdatum Pruefen + if ($gebdatum==$ps->gebdatum) + { + $reihungstest_id=''; + //Freischaltung fuer zugeteilten Reihungstest pruefen + $rt = new reihungstest(); + + // Wenns der Dummy ist dann extra laden + $prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:''); + if($prestudent_id_dummy_student==$ps->prestudent_id) + { + $rt->getReihungstestPerson($ps->person_id); + if(isset($rt->result[0])) + $reihungstest_id = $rt->result[0]->reihungstest_id; + else + { + echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; + } + } + else + { + if($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d'))) + { + // TODO Was ist wenn da mehrere Zurueckkommen?! + if(isset($rt->result[0])) + $reihungstest_id = $rt->result[0]->reihungstest_id; + else + { + echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; + } + } + else + { + echo 'Failed:'.$rt->errormsg; + } + } + //echo "Reihungstest $reihungstest_id"; + if($reihungstest_id != '' && $rt->load($reihungstest_id)) + { + if($rt->freigeschaltet) + { + $pruefling = new pruefling(); + if($pruefling->getPruefling($ps->prestudent_id)) + { + $studiengang = $pruefling->studiengang_kz; + $semester = $pruefling->semester; + } + else + { + $studiengang = $ps->studiengang_kz; + $ps->getLastStatus($ps->prestudent_id); + $semester = $ps->ausbildungssemester; + } + if($semester=='') + $semester=1; + + $_SESSION['prestudent_id']=$_POST['prestudent']; + $_SESSION['studiengang_kz']=$studiengang; + $_SESSION['nachname']=$ps->nachname; + $_SESSION['vorname']=$ps->vorname; + $_SESSION['gebdatum']=$ps->gebdatum; + $stg_obj = new studiengang($studiengang); + $_SESSION['sprache']=$stg_obj->sprache; + + $_SESSION['semester']=$semester; + + // STG und Studienplan mit der höchsten Prio ermitteln + $firstPrio_studienplan_id = ''; + $firstPrio_studiengang_kz = ''; + + $ps->getActualInteressenten($_POST['prestudent'], true); + foreach($ps->result as $row) + { + if(isset($row->studiengang_kz)) + { + $firstPrio_studienplan_id = $row->studienplan_id; + break; + } + } + foreach($ps->result as $row) + { + if(isset($row->studiengang_kz)) + { + $firstPrio_studiengang_kz = $row->studiengang_kz; + break; + } + } + + // Sprachvorgaben zu STG mit höchster Prio ermitteln + + // * 1. Sprache über Ablauf Vorgaben ermitteln + $ablauf = new Ablauf(); + $ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz); + $rt_sprache = ''; + + if(!empty($ablauf->result[0])) + { + $rt_sprache = $ablauf->result[0]->sprache; + } + + // * 2. falls keine Sprache vorhanden -> Sprache über Studienplan ermitteln + if (empty($rt_sprache)) + { + $stpl = new Studienplan(); + $stpl->loadStudienplan($firstPrio_studienplan_id); + $rt_sprache = $stpl->sprache; + } + + // * 3. falls keine Sprache vorhanden -> Sprache über Studiengang ermitteln + if (empty($rt_sprache)) + { + $stg = new Studiengang($firstPrio_studiengang_kz); + $rt_sprache = $stg->sprache; + } + + // * 4. Sprache setzen. Falls keine Sprache vorhanden -> DEFAULT language verwenden + if (empty($rt_sprache)) + { + $_SESSION['sprache'] = DEFAULT_LANGUAGE; + } + else + { + $_SESSION['sprache'] = $rt_sprache; + } + } + else + { + echo ''.$p->t('testtool/reihungstestNichtFreigeschalten').''; + } + } + else + { + echo ''.$p->t('testtool/reihungstestKannNichtGeladenWerden').''; + } + } + else + { + echo ''.$p->t('testtool/geburtsdatumStimmtNichtUeberein').''; + } +} + +if (isset($_SESSION['prestudent_id'])) + $prestudent_id=$_SESSION['prestudent_id']; +else +{ + //$prestudent_id=null; + $ps=new prestudent(); + $datum=date('Y-m-d'); + $ps->getPrestudentRT($datum); +} + +if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache'])) +{ + setSprache($_GET['sprache']); +} + +if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])) +{ + $pruefling = new pruefling(); + + //wenn kein Prüfling geladen werden kann + if(!$pruefling->getPruefling($_SESSION['prestudent_id'])) + $pruefling->new = true; + else + $pruefling->new = false; + + $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; + $pruefling->semester = $_SESSION['semester']; + + $pruefling->idnachweis = ''; + $pruefling->registriert = date('Y-m-d H:i:s'); + $pruefling->prestudent_id = $_SESSION['prestudent_id']; + if($pruefling->save()) + { + $_SESSION['pruefling_id']=$pruefling->pruefling_id; + $reload_parent=true; + } +} + +if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) +{ + $pruefling = new pruefling(); + if($_POST['pruefling_id']!='') + if(!$pruefling->load($_POST['pruefling_id'])) + die('Pruefling wurde nicht gefunden'); + else + $pruefling->new=false; + else + $pruefling->new=true; + + $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; + $pruefling->idnachweis = isset($_POST['idnachweis'])?$_POST['idnachweis']:''; + $pruefling->registriert = date('Y-m-d H:i:s'); + $pruefling->prestudent_id = $_SESSION['prestudent_id']; + $pruefling->semester = $_POST['semester']; + if($pruefling->save()) + { + $_SESSION['pruefling_id']=$pruefling->pruefling_id; + $_SESSION['semester']=$pruefling->semester; + $reload_parent=true; + } +} +?> + + + + + + + + +parent.menu.location.reload();'; + + if($reload) + echo ""; +?> + + + +'.$p->t('testtool/startseite').''; + +//REIHUNGSTEST STARTSEITE (nach Login) + if (isset($prestudent_id)) + { + + $prestudent = new prestudent($prestudent_id); + $stg_obj = new studiengang($prestudent->studiengang_kz); + $pruefling = new pruefling(); + $typ = new studiengang($prestudent->studiengang_kz); + $typ->getStudiengangTyp($stg_obj->typ); + + // STG mit der höchsten Prio ermitteln + $ps = new Prestudent(); + + // * prinzipiell STG der session übernehmem + $firstPrio_studiengang_kz = $prestudent->studiengang_kz;; + + // * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller + // Bachelor-STG ermitteln, an denen die Person noch interessiert ist + if ($typ->typ == 'b') + { + $ps->getActualInteressenten($prestudent_id, true, 'b'); + foreach($ps->result as $row_prio) + { + if(isset($row_prio->studiengang_kz)) + { + $firstPrio_studiengang_kz = $row_prio->studiengang_kz; + break; + } + } + } + + // Sprachwahl zu STG mit höchster Prio ermitteln + $ablauf = new Ablauf(); + $sprachwahl = false; + if ($ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz) && is_bool($ablauf->result[0]->sprachwahl)) + { + $sprachwahl = $ablauf->result[0]->sprachwahl; + } + + //Prestudent Informationen + echo '
    '; + echo '
    '.$p->t('testtool/begruessungstext').'

    '; + echo ''.$p->t('zeitaufzeichnung/id').': '.$_SESSION['prestudent_id'].'
    '; + echo ''.$p->t('global/name').': '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'
    '; + echo ''.$p->t('global/geburtsdatum').': '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'
    '; + + // * wenn Prestudent an mehreren Bachelor-Studiengängen interessiert ist, dann alle STG anführen + if ($typ->typ == 'b') + { + $ps_arr = new Prestudent(); + $ps_arr->getActualInteressenten($prestudent_id, false, 'b'); + + if (count($ps_arr->result) > 1) + { + echo ''.$p->t('global/studiengang'). ":

    "; + + // Jeweils letzten Status ermitteln (ob Interessent oder Abgewiesener) + foreach ($ps_arr->result as $ps_obj) + { + $ps_tmp = new Prestudent(); + $ps_tmp->getLastStatus($ps_obj->prestudent_id); + + $ps_obj->lastStatus = $ps_tmp->status_kurzbz; // letzten Status dem result array hinzufügen + } + + // Falls Status 'Abgewiesene' vorhanden, nach hinten reihen + usort($ps_arr->result, function($a, $b){ + return strcmp($b->lastStatus, $a->lastStatus); // Order by DESC + }); + + foreach ($ps_arr->result as $ps_obj) + { + $stg = new Studiengang($ps_obj->studiengang_kz); + + if($ps_obj->lastStatus == 'Interessent') + { + echo "
  • ". $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '
    '. "
  • "; + } + // wenn letzter Status 'Abgewiesener' ist, dann als solchen kennzeichnen + elseif($ps_obj->lastStatus == 'Abgewiesener') + { + echo "
  • ". $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). ' (- abgewiesen -)
    '. "
  • "; + } + + } + echo "
    "; + } + // * wenn Prestudent nur an einem Bachelor-Studiengang interessiert ist, dann nur den einen STG anführen + else + { + echo ''.$p->t('global/studiengang').': '. $typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'

    '; + } + } + // * wenn Prestudent an einem Master-Studiengang interessiert ist, dann nur den einen STG anführen + else + { + echo ''.$p->t('global/studiengang').': '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'

    '; + } + echo '
    '; + echo '

    '; + + if($pruefling->getPruefling($prestudent_id)) + { + echo '
    '; + echo ''; + echo ''; + //echo ''; + //echo ''; + //echo ''; + echo '
    '.$p->t('global/semester').': 
    ID Nachweis:
    '; + echo '
    '; + + //Wenn die Sprachwahl fuer den priorisierten Studiengang aktiviert ist, dann die Sprachen anzeigen + if($sprachwahl==true) + { + //Liste der Sprachen, die in den Gebieten vorkommen koennen + $qry = "SELECT distinct sprache + FROM + testtool.tbl_pruefling + JOIN testtool.tbl_ablauf USING(studiengang_kz) + JOIN testtool.tbl_frage USING(gebiet_id) + JOIN testtool.tbl_frage_sprache USING(frage_id) + WHERE + tbl_pruefling.pruefling_id=".$db->db_add_param($pruefling->pruefling_id)." + ORDER BY sprache DESC"; + echo $p->t('testtool/spracheDerTestfragen').':'; + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + if($_SESSION['sprache']==$row->sprache) + $selected='style="border:1px solid black;"'; + else + $selected=''; + echo " sprache' class='Item' $selected>$row->sprache"; + } + } + } + echo '


    '.$p->t('testtool/klickenSieAufEinTeilgebiet').''; + if($pruefling->pruefling_id!='') + { + $_SESSION['pruefling_id']=$pruefling->pruefling_id; + echo ''; + } + } + else + { + echo ''.$p->t('testtool/keinPrueflingseintragVorhanden').''; + } + } + else + { + //LOGIN FORM (Startseite vor Login) + $prestudent_id_dummy_student = (defined('PRESTUDENT_ID_DUMMY_STUDENT')?PRESTUDENT_ID_DUMMY_STUDENT:''); + + echo '
    + '; + echo '  '.$p->t('global/geburtsdatum').': '; + echo ''; + echo '  '; + echo '
    '; + + echo '


    +
    + '.$p->t('testtool/willkommenstext').' +
    '; + } +?> + + + diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index cb1feb67e..88eedfd35 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -84,7 +84,7 @@ session_start(); - + db_add_param($_SESSION['studiengang_kz'])." LIMIT 1"; $result = $db->db_query($qry); - echo ''; - echo ''; -echo ''; -echo ''; -echo ''; +echo ''; +echo ''; +echo ''; +echo ''; echo ''; echo ''; echo ''; -echo ''; -echo ''; +echo ''; +echo ''; echo '
    - '.$p->t('testtool/startseite').' + echo ''; + +// Link zur Startseite + echo ''; + +// Link zur Einleitung if ($content_id = $db->db_fetch_object($result)) if($content_id->content_id!='') - echo ''; - echo ''; + echo ' + '; + echo ''; + echo '
    + '.$p->t('testtool/startseite').'
    '.$p->t('testtool/einleitung').'
     
    + '.$p->t('testtool/einleitung').' +
    '; $studiengang_kz = (isset($_SESSION['studiengang_kz'])) ? $_SESSION['studiengang_kz'] : ''; @@ -197,59 +205,70 @@ if (isset($_SESSION['pruefling_id'])) (gebiet_id, semester) semester, gebiet_id, + STRING_AGG(studiengang_kz::TEXT, ', ' ORDER BY studiengang_kz) AS studiengang_kz_list, bezeichnung, reihung, ". $bezeichnung_mehrsprachig_sel. " - FROM - ( - (SELECT - prestudent_data.semester AS ps_sem, - gebiet_id, - bezeichnung, - tbl_ablauf.studienplan_id, - tbl_ablauf.studiengang_kz, - tbl_ablauf.semester, - tbl_ablauf.reihung, - ".$bezeichnung_mehrsprachig. " - FROM - prestudent_data - JOIN - testtool.tbl_ablauf USING (studiengang_kz) - JOIN - testtool.tbl_gebiet USING (gebiet_id) - WHERE - (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) - OR - (prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3)) - ) - - UNION - - ( - SELECT - prestudent_data.semester AS ps_sem, - gebiet_id, - bezeichnung, - tbl_ablauf.studienplan_id, - tbl_ablauf.studiengang_kz, - tbl_ablauf.semester, - tbl_ablauf.reihung, - ". $bezeichnung_mehrsprachig. " - FROM - prestudent_data - JOIN - testtool.tbl_ablauf USING (studienplan_id) - JOIN - testtool.tbl_gebiet USING (gebiet_id) - WHERE - (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) - OR - (prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3)) - ) - - ORDER BY - reihung - ) temp + FROM ( + SELECT + * + FROM ( + (SELECT + prestudent_data.semester AS ps_sem, + gebiet_id, + bezeichnung, + tbl_ablauf.studienplan_id, + tbl_ablauf.studiengang_kz, + tbl_ablauf.semester, + tbl_ablauf.reihung, + ".$bezeichnung_mehrsprachig. " + FROM + prestudent_data + JOIN + testtool.tbl_ablauf USING (studiengang_kz) + JOIN + testtool.tbl_gebiet USING (gebiet_id) + WHERE + (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) + OR + (prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3)) + ) + + UNION + + ( + SELECT + prestudent_data.semester AS ps_sem, + gebiet_id, + bezeichnung, + tbl_ablauf.studienplan_id, + tbl_ablauf.studiengang_kz, + tbl_ablauf.semester, + tbl_ablauf.reihung, + ". $bezeichnung_mehrsprachig. " + FROM + prestudent_data + JOIN + testtool.tbl_ablauf USING (studienplan_id) + JOIN + testtool.tbl_gebiet USING (gebiet_id) + WHERE + (prestudent_data.semester= 1 AND tbl_ablauf.semester = 1) + OR + (prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3)) + ) + ) temp + ) temp2 + + GROUP BY + semester, + gebiet_id, + bezeichnung, + reihung, + bezeichnung_mehrsprachig_1, + bezeichnung_mehrsprachig_2, + bezeichnung_mehrsprachig_3, + bezeichnung_mehrsprachig_4 ORDER BY semester, @@ -259,6 +278,7 @@ if (isset($_SESSION['pruefling_id'])) $result = $db->db_query($qry); $lastsemester = ''; + $quereinsteiger_stg = ''; while($row = $db->db_fetch_object($result)) { @@ -272,9 +292,32 @@ if (isset($_SESSION['pruefling_id'])) } $lastsemester = $row->semester; - echo ''; - echo ''; + echo '
    '.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'
    '; + /*echo '';*/ + echo ''; } + + // Bei Quereinstiegsgebieten nach STG clustern und die STG anzeigen + if($row->semester != '1') + { + if($quereinsteiger_stg != $row->studiengang_kz_list) + { + //echo "
    "; // Abstand zwischen Erstsemester- und Quereinstiegs-Gebietsblock + $quereinsteiger_stg = $row->studiengang_kz_list; + $quereinsteiger_stg_arr = explode(',', $row->studiengang_kz_list); + $quereinsteiger_stg_string = ''; + $cnt = 0; + foreach ($quereinsteiger_stg_arr as $qe_stg) + { + $stg = new Studiengang($qe_stg); + $quereinsteiger_stg_string .= ($cnt > 0) ? ",
    " : ''; + $quereinsteiger_stg_string .= $stg->bezeichnung; + $cnt++; + } + echo ''; + } + } + $gebiet = new gebiet(); if($gebiet->check_gebiet($row->gebiet_id)) { @@ -340,6 +383,12 @@ if (isset($_SESSION['pruefling_id'])) } } echo '
    '.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'
    '. ($row->semester == '1' ? strtoupper($p->t('testtool/basic')) : strtoupper($p->t('testtool/quereinsteiger'))).'
    '. $quereinsteiger_stg_string. '
    '; + + // Link zum Logout + echo '
    + Logout +
    '; } else diff --git a/cis/private/lehre/lehrtaetigkeit.pdf.php b/content/mitarbeiter/lehrtaetigkeit.pdf.php similarity index 93% rename from cis/private/lehre/lehrtaetigkeit.pdf.php rename to content/mitarbeiter/lehrtaetigkeit.pdf.php index d99f2bf6b..78e63a6c2 100644 --- a/cis/private/lehre/lehrtaetigkeit.pdf.php +++ b/content/mitarbeiter/lehrtaetigkeit.pdf.php @@ -18,18 +18,19 @@ * Authors: Cristina Hainberger hainberg@technikum-wien.at>. */ -require_once('../../../config/cis.config.inc.php'); -require_once('../../../include/dokument_export.class.php'); -require_once('../../../include/functions.inc.php'); -require_once('../../../include/person.class.php'); -require_once('../../../include/lehreinheitmitarbeiter.class.php'); -require_once('../../../include/lehreinheit.class.php'); -require_once('../../../include/projektbetreuer.class.php'); -require_once('../../../include/projektarbeit.class.php'); -require_once('../../../include/bisverwendung.class.php'); -require_once('../../../include/studiensemester.class.php'); -require_once('../../../include/phrasen.class.php'); -require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../config/cis.config.inc.php'); +require_once('../../include/dokument_export.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/person.class.php'); +require_once('../../include/lehreinheitmitarbeiter.class.php'); +require_once('../../include/lehreinheit.class.php'); +require_once('../../include/projektbetreuer.class.php'); +require_once('../../include/projektarbeit.class.php'); +require_once('../../include/bisverwendung.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/phrasen.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); + $user = get_uid(); $sprache = getSprache(); diff --git a/locale/de-AT/testtool.php b/locale/de-AT/testtool.php index 0e62491f1..554ef917e 100644 --- a/locale/de-AT/testtool.php +++ b/locale/de-AT/testtool.php @@ -1,43 +1,45 @@ -phrasen['testtool/titel']=''; -$this->phrasen['testtool/login']='Login'; -$this->phrasen['testtool/tag']='Tag'; -$this->phrasen['testtool/monat']='Monat'; -$this->phrasen['testtool/jahr']='Jahr'; -$this->phrasen['testtool/willkommenstext']='Herzlich Willkommen zum Reihungstest.

    - Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.

    - Wir wünschen Ihnen einen erfolgreichen Start ins Studium.'; -$this->phrasen['testtool/nameAuswaehlen']='Name auswählen...'; -$this->phrasen['testtool/quereinstieg']='(Quereinstieg)'; -$this->phrasen['testtool/semester']='Semester'; -$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet'; -$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden'; -$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson'; -$this->phrasen['testtool/home']='Home'; -$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Klicken Sie links auf ein Teilgebiet'; -$this->phrasen['testtool/gebietStarten']='Gebiet starten'; -$this->phrasen['testtool/startseite']='Startseite'; -$this->phrasen['testtool/zurueckZurStartseite']='Zurück zur Startseite'; -$this->phrasen['testtool/begruessungstext']='Willkommen zum Reihungstest der Fachhochschule Technikum Wien. Sie sind mit folgenden Daten angemeldet:'; -$this->phrasen['testtool/keineAntwort']='Keine Antwort'; -$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter'; -$this->phrasen['testtool/alleFragenBeantwortet']='GLÜCKWUNSCH! \n\nSie haben alle Fragen in der zur Verfügung stehenden Zeit beantwortet. \nNutzen Sie die verbleibende Zeit, um Ihre Antworten zu kontrollieren oder fahren Sie mit dem nächsten Teilgebiet fort'; -$this->phrasen['testtool/zeitAbgelaufen']='Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet'; -$this->phrasen['testtool/spracheDerTestfragen']='Gewünschte Sprache der Testfragen'; -$this->phrasen['testtool/einleitung']='Einleitung'; -$this->phrasen['testtool/blaettern']='Blättern'; -$this->phrasen['testtool/demo']='Demobeispiel ansehen'; -$this->phrasen['testtool/okKlickenUmZuStarten']='Klicken Sie OK um dieses Gebiet zu starten. \nSie haben für die Bearbeitung ein Zeitlimit von'; -$this->phrasen['testtool/bitteZuerstAnmelden']='Bitte zuerst anmelden!'; -$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Fehler beim generieren des Fragenpools'; -$this->phrasen['testtool/esWurdeKeineFrageGefunden']='Es wurde keine Frage gefunden'; -$this->phrasen['testtool/fehler']='Fehler'; -$this->phrasen['testtool/fehlerBeimStartvorgang']='Fehler beim Startvorgang'; -$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei diesem Gebiet müssen Sie jede Frage beantworten'; -$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit'; -$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen!
    Bitte aktivieren Sie Javascript in Ihrem Browser!'; -$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt'; -$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht'; -$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf Gebiet starten.'; -$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden'; -?> +phrasen['testtool/titel']=''; +$this->phrasen['testtool/login']='Login'; +$this->phrasen['testtool/tag']='Tag'; +$this->phrasen['testtool/monat']='Monat'; +$this->phrasen['testtool/jahr']='Jahr'; +$this->phrasen['testtool/willkommenstext']='Herzlich Willkommen zum Reihungstest.

    + Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.

    + Wir wünschen Ihnen einen erfolgreichen Start ins Studium.'; +$this->phrasen['testtool/nameAuswaehlen']='Name auswählen...'; +$this->phrasen['testtool/quereinstieg']='(Quereinstieg)'; +$this->phrasen['testtool/quereinsteiger']='Quereinsteiger'; +$this->phrasen['testtool/basic']='Basic'; +$this->phrasen['testtool/semester']='Semester'; +$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet'; +$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden'; +$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson'; +$this->phrasen['testtool/home']='Home'; +$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Klicken Sie links auf ein Teilgebiet'; +$this->phrasen['testtool/gebietStarten']='Gebiet starten'; +$this->phrasen['testtool/startseite']='Startseite'; +$this->phrasen['testtool/zurueckZurStartseite']='Zurück zur Startseite'; +$this->phrasen['testtool/begruessungstext']='Willkommen zum Reihungstest der Fachhochschule Technikum Wien. Sie sind mit folgenden Daten angemeldet:'; +$this->phrasen['testtool/keineAntwort']='Keine Antwort'; +$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter'; +$this->phrasen['testtool/alleFragenBeantwortet']='GLÜCKWUNSCH! \n\nSie haben alle Fragen in der zur Verfügung stehenden Zeit beantwortet. \nNutzen Sie die verbleibende Zeit, um Ihre Antworten zu kontrollieren oder fahren Sie mit dem nächsten Teilgebiet fort'; +$this->phrasen['testtool/zeitAbgelaufen']='Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet'; +$this->phrasen['testtool/spracheDerTestfragen']='Gewünschte Sprache der Testfragen'; +$this->phrasen['testtool/einleitung']='Einleitung'; +$this->phrasen['testtool/blaettern']='Blättern'; +$this->phrasen['testtool/demo']='Demobeispiel ansehen'; +$this->phrasen['testtool/okKlickenUmZuStarten']='Klicken Sie OK um dieses Gebiet zu starten. \nSie haben für die Bearbeitung ein Zeitlimit von'; +$this->phrasen['testtool/bitteZuerstAnmelden']='Bitte zuerst anmelden!'; +$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Fehler beim generieren des Fragenpools'; +$this->phrasen['testtool/esWurdeKeineFrageGefunden']='Es wurde keine Frage gefunden'; +$this->phrasen['testtool/fehler']='Fehler'; +$this->phrasen['testtool/fehlerBeimStartvorgang']='Fehler beim Startvorgang'; +$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei diesem Gebiet müssen Sie jede Frage beantworten'; +$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit'; +$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen!
    Bitte aktivieren Sie Javascript in Ihrem Browser!'; +$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt'; +$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht'; +$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf Gebiet starten.'; +$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden'; +?> diff --git a/locale/en-US/testtool.php b/locale/en-US/testtool.php index dca61c40c..76f2e75b9 100644 --- a/locale/en-US/testtool.php +++ b/locale/en-US/testtool.php @@ -1,43 +1,45 @@ -phrasen['testtool/titel']=''; -$this->phrasen['testtool/login']='Login'; -$this->phrasen['testtool/tag']='Day'; -$this->phrasen['testtool/monat']='Month'; -$this->phrasen['testtool/jahr']='Year'; -$this->phrasen['testtool/willkommenstext']='Welcome to the placement test.

    - Please wait for the tutor\'s instructions before you log in.

    - We wish you a good start to your studies.'; -$this->phrasen['testtool/nameAuswaehlen']='Choose name...'; -$this->phrasen['testtool/quereinstieg']='(Lateral entry)'; -$this->phrasen['testtool/semester']='Semester'; -$this->phrasen['testtool/reihungstestNichtFreigeschalten']='The entrance examination assigned has not yet been activated.'; -$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='The entrance examination assigned to you can not be loaded.'; -$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Your date of birth does not correspond to the data we have. Please speak to the supervisor. '; -$this->phrasen['testtool/home']='Home'; -$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Select a topic on the left side'; -$this->phrasen['testtool/gebietStarten']='Start section'; -$this->phrasen['testtool/startseite']='Startpage'; -$this->phrasen['testtool/zurueckZurStartseite']='Back to startpage';; -$this->phrasen['testtool/begruessungstext']='Welcome to the placement test of the UAS Technikum Wien.
    You are logged in with the following data:'; -$this->phrasen['testtool/keineAntwort']='No Answer'; -$this->phrasen['testtool/speichernUndWeiter']='Save and next'; -$this->phrasen['testtool/alleFragenBeantwortet']='CONGRATULATIONS!\n\nYou have answered all the questions in the time allowed.\n Use the remaining time to check your answers or continue to the next section.'; -$this->phrasen['testtool/zeitAbgelaufen']='The time for this part has expired or you have answered all the questions.'; -$this->phrasen['testtool/spracheDerTestfragen']='Desired language of questions'; -$this->phrasen['testtool/einleitung']='Introduction'; -$this->phrasen['testtool/blaettern']='Browse'; -$this->phrasen['testtool/demo']='See an example'; -$this->phrasen['testtool/okKlickenUmZuStarten']='Click OK to start this section. \nYou have a timelimit of'; -$this->phrasen['testtool/bitteZuerstAnmelden']='Please log in first!'; -$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Error in generating the pool of questions.'; -$this->phrasen['testtool/esWurdeKeineFrageGefunden']='No question has been found.'; -$this->phrasen['testtool/fehler']='Error'; -$this->phrasen['testtool/fehlerBeimStartvorgang']='Error in start-up sequence'; -$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='In this section you must answer every question'; -$this->phrasen['testtool/bearbeitungszeit']='Time'; -$this->phrasen['testtool/dieZeitIstAbgelaufen']='The time has run out!
    Please enable JavaScript in your browser!'; -$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='This question is not intended for you'; -$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Error in saving the initial view'; -$this->phrasen['testtool/startDrueckenUmZuBeginnen']='To start this section, please click on Start section in the top left corner.'; -$this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry available.'; +phrasen['testtool/titel']=''; +$this->phrasen['testtool/login']='Login'; +$this->phrasen['testtool/tag']='Day'; +$this->phrasen['testtool/monat']='Month'; +$this->phrasen['testtool/jahr']='Year'; +$this->phrasen['testtool/willkommenstext']='Welcome to the placement test.

    + Please wait for the tutor\'s instructions before you log in.

    + We wish you a good start to your studies.'; +$this->phrasen['testtool/nameAuswaehlen']='Choose name...'; +$this->phrasen['testtool/quereinstieg']='(Lateral entry)'; +$this->phrasen['testtool/quereinsteiger']='Lateral entry'; +$this->phrasen['testtool/basic']='Basic'; +$this->phrasen['testtool/semester']='Semester'; +$this->phrasen['testtool/reihungstestNichtFreigeschalten']='The entrance examination assigned has not yet been activated.'; +$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='The entrance examination assigned to you can not be loaded.'; +$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Your date of birth does not correspond to the data we have. Please speak to the supervisor. '; +$this->phrasen['testtool/home']='Home'; +$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Select a topic on the left side'; +$this->phrasen['testtool/gebietStarten']='Start section'; +$this->phrasen['testtool/startseite']='Startpage'; +$this->phrasen['testtool/zurueckZurStartseite']='Back to startpage';; +$this->phrasen['testtool/begruessungstext']='Welcome to the placement test of the UAS Technikum Wien.
    You are logged in with the following data:'; +$this->phrasen['testtool/keineAntwort']='No Answer'; +$this->phrasen['testtool/speichernUndWeiter']='Save and next'; +$this->phrasen['testtool/alleFragenBeantwortet']='CONGRATULATIONS!\n\nYou have answered all the questions in the time allowed.\n Use the remaining time to check your answers or continue to the next section.'; +$this->phrasen['testtool/zeitAbgelaufen']='The time for this part has expired or you have answered all the questions.'; +$this->phrasen['testtool/spracheDerTestfragen']='Desired language of questions'; +$this->phrasen['testtool/einleitung']='Introduction'; +$this->phrasen['testtool/blaettern']='Browse'; +$this->phrasen['testtool/demo']='See an example'; +$this->phrasen['testtool/okKlickenUmZuStarten']='Click OK to start this section. \nYou have a timelimit of'; +$this->phrasen['testtool/bitteZuerstAnmelden']='Please log in first!'; +$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Error in generating the pool of questions.'; +$this->phrasen['testtool/esWurdeKeineFrageGefunden']='No question has been found.'; +$this->phrasen['testtool/fehler']='Error'; +$this->phrasen['testtool/fehlerBeimStartvorgang']='Error in start-up sequence'; +$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='In this section you must answer every question'; +$this->phrasen['testtool/bearbeitungszeit']='Time'; +$this->phrasen['testtool/dieZeitIstAbgelaufen']='The time has run out!
    Please enable JavaScript in your browser!'; +$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='This question is not intended for you'; +$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Error in saving the initial view'; +$this->phrasen['testtool/startDrueckenUmZuBeginnen']='To start this section, please click on Start section in the top left corner.'; +$this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry available.'; ?> \ No newline at end of file diff --git a/skin/styles/tw.css b/skin/styles/tw.css index dea35d3aa..a2dabeb09 100644 --- a/skin/styles/tw.css +++ b/skin/styles/tw.css @@ -210,14 +210,21 @@ a:hover /*link ohne Item-Definition*/ a.ItemTesttool { color: #000; - /*line-height: 25px;*/ + line-height: 25px; display:block; padding: 5px 10px 5px 10px; } + +a.ItemTesttool.navButton +{ + background-color: #0a629c; + color: white; + padding: 10px; +} a.ItemTesttoolAktiv { color: #000; - /*line-height: 25px;*/ + line-height: 25px; display:block; padding: 5px 10px 5px 10px; text-decoration: none; @@ -225,7 +232,7 @@ a.ItemTesttoolAktiv a.ItemTesttoolBeendet { color: #C7C8C9; - /*line-height: 25px;*/ + line-height: 25px; display:block; padding: 5px 10px 5px 10px; cursor: default; @@ -234,10 +241,16 @@ a.ItemTesttoolBeendet a:hover.ItemTesttool { color: #000; - /*line-height: 25px;*/ + line-height: 25px; text-decoration: none; padding: 5px 10px 5px 10px; } +a:hover.ItemTesttool.navButton +{ + background-color: steelblue; + color: white; + padding: 10px; +} a.HyperItem /* ? */ { color: Black; text-decoration: none; @@ -430,7 +443,18 @@ td.HeaderTesttool /*fuer die Button-Optik beim Testtool*/ white-space:nowrap; line-height: 25px; box-shadow: inset 0 0 2px #FFFFFF; - padding: 0 10px 0 10px; + padding: 10px; +} +td.HeaderTesttoolSTG /*fuer die Button-Optik der Quereinstiegs-Studiengänge beim Testtool*/ +{ + color: #00639C; + border: 2px solid #00639C; + padding: 10px; + max-width: 100px; + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; + font-weight: bold; } td.Inaktiv /*fuer Inaktive Items bei der Raumbeschreibung */ { diff --git a/system/xsl/lehrtaetigkeit_0.xsl b/system/xsl/lehrtaetigkeit_0.xsl index b3d16dbd0..69eb20b21 100644 --- a/system/xsl/lehrtaetigkeit_0.xsl +++ b/system/xsl/lehrtaetigkeit_0.xsl @@ -219,7 +219,7 @@ - Wien, 04.04.2019 + Wien, diff --git a/vilesci/personen/import/mitarbeiterimport.php b/vilesci/personen/import/mitarbeiterimport.php index 8da54208f..561323795 100644 --- a/vilesci/personen/import/mitarbeiterimport.php +++ b/vilesci/personen/import/mitarbeiterimport.php @@ -119,17 +119,38 @@ if(isset($_GET['type']) && $_GET['type']=='getortcontent' && isset($_GET['plz']) echo getOrtDropDown($_GET['plz'], $_GET['gemeinde']); exit; } + +// Checken der UID mit Ajax +if(isset($_POST['checkUID'])) +{ + $uid = filter_input(INPUT_POST, 'uid'); + $bn = new benutzer(); + + if($bn->uid_exists($uid)) + { + echo json_encode(array( + 'status'=>'fehler', + 'msg'=>'UID ist bereits vorhanden')); + } + else + { + echo json_encode(array( + 'status'=>'ok', + 'msg'=>'')); + } + exit(); +} ?> - - - - - + + + + + - +

    MitarbeiterIn anlegen

    uid_exists($uid)) { $error = true; - $errormsg = 'Es konnte keine UID ermittelt werden'; + $errormsg = 'Die UID '.$uid.' existiert bereits'; } } @@ -758,22 +831,27 @@ else '; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +//echo ''; +echo ''; +echo ''; echo ''; -echo ''; -echo ''; -echo ''; -echo ''; +//echo '
    Anrede
    Titel(Pre)
    Vorname
    Weitere Vornamen
    Nachname *
    Titel(Post)
    Wunsch-UID + + (optional, max. 32) +
    Anrede
    Titel(Pre)
    Vorname +   Weitere Vornamen 
    Nachname *
    Titel(Post)
    Geschlecht *'; echo '
    SVNR
    Ersatzkennzeichen
    Geburtsdatum * (Format: TT.MM.JJJJ)
    Adresse'; +echo ''; +echo ''; +echo ''; +echo ''; echo ''; -echo ''; -echo ''; +echo ''; +echo ''; echo ''; - -echo '
    SVNR
    Ersatzkennzeichen
    Geburtsdatum * (Format: TT.MM.JJJJ)
     
    Nation
    Postleitzahl
    Adresse
    Postleitzahl
    Adresse
    Gemeinde
    '; //wenn die Nation Oesterreich ist, dann wird ein DropDown fuer Gemeinde und Ort angezeigt. //wenn die Nation nicht Oesterreich ist, werden nur textfelder angezeigt @@ -814,15 +892,15 @@ if($adresse_nation=='A' && $plz!='') echo getOrtDropDown($plz, $gemeinde); } echo '
    '; +echo '
     
    '; echo ''; echo ''; echo ''; -echo '
    EMail
    Telefon
    Mobil
    EMail
    Telefon
    Mobil
    Letzte Ausbildung'; echo '
    Lektor
    Fixangestellt
    Personalnummer (optional)
    Anmerkungen
    Personalnummer (optional)
    Anmerkungen
    '; if(($geburtsdatum=='' && $vorname=='' && $nachname=='') || $geburtsdatum_error) diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php index 4ba54c365..101e12494 100644 --- a/vilesci/stammdaten/auswertung_fhtw.php +++ b/vilesci/stammdaten/auswertung_fhtw.php @@ -1362,11 +1362,13 @@ if (isset($_REQUEST['reihungstest'])) die($db->db_last_error()); } + $gebiete_arr = array(); while ($row = $db->db_fetch_object($result)) { if (!isset($ergebnis[$row->prestudent_id])) { $ergebnis[$row->prestudent_id] = new stdClass(); + $gebiete_arr[$row->prestudent_id] = array(); } $ergebnis[$row->prestudent_id]->prestudent_id = $row->prestudent_id; @@ -1423,78 +1425,54 @@ if (isset($_REQUEST['reihungstest'])) $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = $prozent; $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punkte = $punkte; - // Gesamtpunkte mit Physik - if (isset($ergebnis[$row->prestudent_id]->gesamt)) - { - $ergebnis[$row->prestudent_id]->gesamt += $prozent * $row->gewicht; - } - else - { - $ergebnis[$row->prestudent_id]->gesamt = $prozent * $row->gewicht; - } + // Bei Auswertungen ohne rt_id kann es vorkommen, dass Datensätze Doppelt sind + // Bei der Summe darf ein Gebiet jedenfalls nur einmal summiert werden - if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte)) + if (!in_array($row->gebiet_id, $gebiete_arr[$row->prestudent_id])) { - $ergebnis[$row->prestudent_id]->gesamtpunkte += $punkte; - } - else - { - $ergebnis[$row->prestudent_id]->gesamtpunkte = $punkte; - } + $gebiete_arr[$row->prestudent_id][] = $row->gebiet_id; - // Gesamtpunkte ohne Physik - if ($row->gebiet_id != 10) - { - if (isset($ergebnis[$row->prestudent_id]->gesamt_ohne_physik)) + // Gesamtpunkte mit Physik + if (isset($ergebnis[$row->prestudent_id]->gesamt)) { - $ergebnis[$row->prestudent_id]->gesamt_ohne_physik += $prozent * $row->gewicht; + $ergebnis[$row->prestudent_id]->gesamt += $prozent * $row->gewicht; } else { - $ergebnis[$row->prestudent_id]->gesamt_ohne_physik = $prozent * $row->gewicht; + $ergebnis[$row->prestudent_id]->gesamt = $prozent * $row->gewicht; } - if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik)) + if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte)) { - $ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik += $punkte; + $ergebnis[$row->prestudent_id]->gesamtpunkte += $punkte; } else { - $ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik = $punkte; + $ergebnis[$row->prestudent_id]->gesamtpunkte = $punkte; + } + + // Gesamtpunkte ohne Physik + if ($row->gebiet_id != 10) + { + if (isset($ergebnis[$row->prestudent_id]->gesamt_ohne_physik)) + { + $ergebnis[$row->prestudent_id]->gesamt_ohne_physik += $prozent * $row->gewicht; + } + else + { + $ergebnis[$row->prestudent_id]->gesamt_ohne_physik = $prozent * $row->gewicht; + } + + if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik)) + { + $ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik += $punkte; + } + else + { + $ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik = $punkte; + } } } - - // Wenn Person ID gleich ist und kein Ergebnis vorhanden ist, jenes eines anderen PreStudenten dieser Person anzeigen - /*if ($ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punkte == '') - { - foreach ($ergebnis as $erg) - { - if ($row->person_id == $erg->person_id && isset($erg->gebiet[$row->gebiet_id]->punkte) && $erg->gebiet[$row->gebiet_id]->punkte != '') - { - $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punkte = $erg->gebiet[$row->gebiet_id]->punkte; - } - if ($row->person_id == $erg->person_id && isset($erg->gebiet[$row->gebiet_id]->prozent) && $erg->gebiet[$row->gebiet_id]->prozent != '') - { - $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = $erg->gebiet[$row->gebiet_id]->prozent; - } - if ($row->person_id == $erg->person_id && $erg->gesamt != '') - { - $ergebnis[$row->prestudent_id]->gesamt = $erg->gesamt; - } - if ($row->person_id == $erg->person_id && $erg->gesamtpunkte != '') - { - $ergebnis[$row->prestudent_id]->gesamtpunkte = $erg->gesamtpunkte; - } - if ($row->person_id == $erg->person_id && $erg->gesamt_ohne_physik != '') - { - $ergebnis[$row->prestudent_id]->gesamt_ohne_physik = $erg->gesamt_ohne_physik; - } - if ($row->person_id == $erg->person_id && $erg->gesamtpunkte_ohne_physik != '') - { - $ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik = $erg->gesamtpunkte_ohne_physik; - } - } - }*/ } $ergb = $ergebnis; diff --git a/vilesci/stammdaten/reihungstest_administration.php b/vilesci/stammdaten/reihungstest_administration.php index cec0074f2..b1db58e5e 100644 --- a/vilesci/stammdaten/reihungstest_administration.php +++ b/vilesci/stammdaten/reihungstest_administration.php @@ -92,18 +92,20 @@ echo ' - - - - - + '; + + include('../../include/meta/jquery.php'); + include('../../include/meta/jquery-tablesorter.php'); + +echo '