Merge branch 'master' into cleanci

This commit is contained in:
Paolo
2019-04-30 13:14:37 +02:00
33 changed files with 1196 additions and 996 deletions
+9 -35
View File
@@ -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;
+3 -29
View File
@@ -17,10 +17,9 @@
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
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();
}
/**
@@ -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();
}
/**
@@ -1,11 +1,9 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
if (!defined('BASEPATH')) exit('No direct script access allowed');
class ReihungstestJob extends FHC_Controller
class ReihungstestJob extends CLI_Controller
{
private $VILESCI_RT_VERWALTUNGS_URL;
/**
* Constructor
*/
@@ -13,20 +11,6 @@ class ReihungstestJob 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->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 .= '<p style="font-family: verdana, sans-serif;"><a href="mailto:?bcc=' . $mailReceipients . '">Mail an alle schicken</a></p>';
}
$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;
}
+4 -4
View File
@@ -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
@@ -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
+1 -1
View File
@@ -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
+102
View File
@@ -0,0 +1,102 @@
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
class CLI_Controller extends FHC_Controller
{
const INFO_FORMAT = '%s %s %s %s'; // Info message format
const REQUIRED_PARAM_FORMAT = ' %s'; // Info message required method parameter format
const OPTIONAL_PARAM_FORMAT = ' (%s)'; // Info message optional method parameter format
const BLACKLIST_METHODS = array('__construct', 'index', 'get_instance'); // Methods to NOT display with _printHelp
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
// Checks if the controller is called from command line
$this->_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;
}
}
}
+2 -2
View File
@@ -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
{
+4 -4
View File
@@ -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'))
+3 -1
View File
@@ -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
+3 -3
View File
@@ -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))
+19 -19
View File
@@ -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"
+1 -1
View File
@@ -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
+4 -4
View File
@@ -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)
{
+2 -2
View File
@@ -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 = '';
+4 -4
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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;
+9 -9
View File
@@ -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)
{
+549 -524
View File
File diff suppressed because it is too large Load Diff
+107 -58
View File
@@ -84,7 +84,7 @@ session_start();
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
</head>
<body>
<body scroll="no" style="margin-top: 40px; overflow: hidden">
<?php
if (isset($_SESSION['pruefling_id']))
{
@@ -92,14 +92,22 @@ if (isset($_SESSION['pruefling_id']))
$qry = "SELECT content_id FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$db->db_add_param($_SESSION['studiengang_kz'])." LIMIT 1";
$result = $db->db_query($qry);
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-right-width:1px;border-right-color:#BCBCBC;">';
echo '<tr><td style="padding-left: 20px;" nowrap>
<a href="login.php" target="content">'.$p->t('testtool/startseite').'</a>
echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-right-width:1px;border-right-color:#BCBCBC; border-collapse: separate;
border-spacing: 0 3px;">';
// Link zur Startseite
echo '<tr><td class="ItemTesttool" style="margin-left: 20px;" nowrap>
<a class="ItemTesttool navButton" href="login.php" target="content">'.$p->t('testtool/startseite').'</a>
</td></tr>';
// Link zur Einleitung
if ($content_id = $db->db_fetch_object($result))
if($content_id->content_id!='')
echo '<tr><td style="padding-left: 20px;"><a href="../../cms/content.php?content_id='.$content_id->content_id.'&sprache='.$sprache.'" target="content">'.$p->t('testtool/einleitung').'</a></td></tr>';
echo '<tr><td>&nbsp;</td></tr>';
echo '
<tr><td class="ItemTesttool" style="margin-left: 20px;" nowrap>
<a class="ItemTesttool navButton" href="../../cms/content.php?content_id='.$content_id->content_id.'&sprache='.$sprache.'" target="content">'.$p->t('testtool/einleitung').'</a>
</td></tr>';
echo '<tr><td style="padding-left: 20px;" nowrap>';
$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 '<table border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible; border-collapse: separate; border-spacing: 0 6px;">';
echo '<tr><td class="HeaderTesttool">'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'</td></tr>';
echo '<table border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible; border-collapse: separate; border-spacing: 0 3px;">';
/*echo '<tr><td class="HeaderTesttool">'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'</td></tr>';*/
echo '<tr><td class="HeaderTesttool">'. ($row->semester == '1' ? strtoupper($p->t('testtool/basic')) : strtoupper($p->t('testtool/quereinsteiger'))).'</td></tr>';
}
// Bei Quereinstiegsgebieten nach STG clustern und die STG anzeigen
if($row->semester != '1')
{
if($quereinsteiger_stg != $row->studiengang_kz_list)
{
//echo "<br>"; // 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) ? ",<br>" : '';
$quereinsteiger_stg_string .= $stg->bezeichnung;
$cnt++;
}
echo '<tr><td class="HeaderTesttoolSTG">'. $quereinsteiger_stg_string. '</td></tr>';
}
}
$gebiet = new gebiet();
if($gebiet->check_gebiet($row->gebiet_id))
{
@@ -340,6 +383,12 @@ if (isset($_SESSION['pruefling_id']))
}
}
echo '</table>';
// Link zum Logout
echo '<tr><td class="ItemTesttool" style="margin-left: 20px;" nowrap>
<a class="ItemTesttool navButton" href="login.php?logout" target="content">Logout</a>
</td></tr>';
echo '</td></tr></table>';
}
else
@@ -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();
+45 -43
View File
@@ -1,43 +1,45 @@
<?php
$this->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.<br /><br />
Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.<br /><br />
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!<br /> 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 <b>Gebiet starten</b>.';
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden';
?>
<?php
$this->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.<br /><br />
Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.<br /><br />
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!<br /> 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 <b>Gebiet starten</b>.';
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden';
?>
+44 -42
View File
@@ -1,43 +1,45 @@
<?php
$this->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.<br /><br />
Please wait for the tutor\'s instructions before you log in.<br /><br />
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. <br/>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!<br />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 <b>Start section</b> in the top left corner.';
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry available.';
<?php
$this->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.<br /><br />
Please wait for the tutor\'s instructions before you log in.<br /><br />
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. <br/>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!<br />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 <b>Start section</b> in the top left corner.';
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry available.';
?>
+29 -5
View File
@@ -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 */
{
+1 -1
View File
@@ -219,7 +219,7 @@
</text:p>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P2">Wien, 04.04.2019</text:p>
<text:p text:style-name="P2">Wien, <xsl:value-of select="actual_date" /></text:p>
</office:text>
</office:body>
</office:document-content>
+105 -27
View File
@@ -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();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/styles/tw.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css">
<script type="text/Javascript">
@@ -217,6 +238,48 @@ function checkInput1()
return true;
}
function checkWunschUid()
{
// Set UID lower case and remove whitespaces and -
uid = $("#wunschUid").val().toLowerCase();
uid = uid.replace(/\s+/g, '');
uid = uid.replace('-', '');
$("#wunschUid").val(uid);
if (uid != '')
{
data = {
uid: uid,
checkUID: true
};
$.ajax({
url: 'mitarbeiterimport.php',
data: data,
type: 'POST',
dataType: "json",
success: function(data)
{
if(data.status != 'ok')
{
$("#checkUID").css( "color", "red" );
$("#checkUID").html('UID bereits vorhanden');
}
else
{
$("#checkUID").css( "color", "green" );
$("#checkUID").html('UID verfügbar');
}
},
error: function(data)
{
alert(data.msg)
}
});
}
}
// **************************************
// * XMLHttpRequest Objekt erzeugen
// **************************************
@@ -353,7 +416,7 @@ function GeschlechtChange()
}
</script>
</head>
<body>
<body style="padding: 10px">
<h1>MitarbeiterIn anlegen</h1>
<?php
//Berechtigung pruefen
@@ -408,11 +471,16 @@ $svnr = (isset($_POST['svnr'])?$_POST['svnr']:'');
$lektor = (isset($_POST['lektor'])?true:false);
$fixangestellt = (isset($_POST['fixangestellt'])?true:false);
if(!isset($_POST['svnr']))
{
$lektor = true;
$fixangestellt = true;
}
$ersatzkennzeichen = (isset($_POST['ersatzkennzeichen'])?$_POST['ersatzkennzeichen']:'');
//end Parameter
$geburtsdatum_error=false;
$personalnummer = (isset($_POST['personalnummer'])?trim($_POST['personalnummer']):'');
$wunschUid = (isset($_POST['wunschUid'])?trim($_POST['wunschUid']):'');
// *** Speichern der Daten ***
if(isset($_POST['save']))
@@ -486,12 +554,17 @@ if(isset($_POST['save']))
$uid = generateMitarbeiterUID($vorname_clean, $nachname_clean, $lektor, $fixangestellt);
if ($wunschUid != '')
{
$uid = $wunschUid;
}
$bn = new benutzer();
if($bn->uid_exists($uid))
{
$error = true;
$errormsg = 'Es konnte keine UID ermittelt werden';
$errormsg = 'Die UID '.$uid.' existiert bereits';
}
}
@@ -758,22 +831,27 @@ else
<!--Formularfelder-->
<table>
<?php
echo '<tr><td>Anrede</td><td><input type="text" id="anrede" name="anrede" maxlength="16" value="'.$anrede.'" onblur="AnredeChange()"/></td></tr>';
echo '<tr><td>Titel(Pre)</td><td><input type="text" id="titel" name="titel" maxlength="64" value="'.$titel.'" /></td></tr>';
echo '<tr><td>Vorname</td><td><input type="text" id="vorname" maxlength="32" name="vorname" value="'.$vorname.'" /></td></tr>';
echo '<tr><td>Weitere Vornamen</td><td><input type="text" id="vornamen" maxlength="32" name="vornamen" value="'.$vornamen.'" /></td></tr>';
echo '<tr><td>Nachname *</td><td><input type="text" maxlength="64" id="nachname" name="nachname" value="'.$nachname.'" /></td></tr>';
echo '<tr><td>Titel(Post)</td><td><input type="text" id="titelpost" name="titelpost" maxlength="64" value="'.$titelpost.'" /></td></tr>';
echo '<tr><td>Wunsch-UID</td><td><input type="text" name="wunschUid" id="wunschUid" maxlength="32" size="30" value="'.$wunschUid.'" />
<span style="padding: 0 3px" id="checkUID"></span>
<button type="button" title="Prüft, ob die UID schon vorhanden ist. Keine Sonderzeichen, Umlaute oder Leerzeichen in der UID" href="#" onclick="checkWunschUid()"> Check UID </button> (optional, max. 32)
</td></tr>';
echo '<tr><td>Anrede</td><td><input type="text" id="anrede" name="anrede" maxlength="16" size="30" value="'.$anrede.'" onblur="AnredeChange()"/></td></tr>';
echo '<tr><td>Titel(Pre)</td><td><input type="text" id="titel" name="titel" maxlength="64" size="30" value="'.$titel.'" /></td></tr>';
echo '<tr><td>Vorname</td><td><input type="text" id="vorname" maxlength="32" name="vorname" size="30" value="'.$vorname.'" />
&nbsp;&nbsp;Weitere Vornamen&nbsp;<input type="text" id="vornamen" maxlength="32" size="30" name="vornamen" value="'.$vornamen.'" /></td></tr>';
//echo '<tr></tr>';
echo '<tr><td>Nachname *</td><td><input type="text" maxlength="64" size="30" id="nachname" name="nachname" value="'.$nachname.'" /></td></tr>';
echo '<tr><td>Titel(Post)</td><td><input type="text" id="titelpost" name="titelpost" maxlength="64" size="30" value="'.$titelpost.'" /></td></tr>';
echo '<tr><td>Geschlecht *</td><td><SELECT id="geschlecht" name="geschlecht" onchange="GeschlechtChange()">';
echo '<OPTION value="m" '.($geschlecht=='m'?'selected':'').'>m&auml;nnlich</OPTION>';
echo '<OPTION value="w" '.($geschlecht=='w'?'selected':'').'>weiblich</OPTION>';
echo '<OPTION value="u" '.($geschlecht=='u'?'selected':'').'>unbekannt</OPTION>';
echo '</SELECT>';
echo '</td></tr>';
echo '<tr><td>SVNR</td><td><input type="text" id="svnr" size="16" maxlength="16" name="svnr" value="'.$svnr.'" onblur="GeburtsdatumEintragen()" /></td></tr>';
echo '<tr><td>Ersatzkennzeichen</td><td><input type="text" id="ersatzkennzeichen" size="10" maxlength="10" name="ersatzkennzeichen" value="'.$ersatzkennzeichen.'" /></td></tr>';
echo '<tr><td>Geburtsdatum *</td><td><input type="text" id="geburtsdatum" size="10" maxlength="10" name="geburtsdatum" value="'.$geburtsdatum.'" /> (Format: TT.MM.JJJJ)</td></tr>';
echo '<tr><td colspan="2"><fieldset><legend>Adresse</legend><table>';
echo '<tr><td>SVNR</td><td><input type="text" id="svnr" size="30" maxlength="16" name="svnr" value="'.$svnr.'" onblur="GeburtsdatumEintragen()" /></td></tr>';
echo '<tr><td>Ersatzkennzeichen</td><td><input type="text" id="ersatzkennzeichen" size="30" maxlength="10" name="ersatzkennzeichen" value="'.$ersatzkennzeichen.'" /></td></tr>';
echo '<tr><td>Geburtsdatum *</td><td><input type="text" id="geburtsdatum" size="30" maxlength="10" name="geburtsdatum" value="'.$geburtsdatum.'" /> (Format: TT.MM.JJJJ)</td></tr>';
echo '<tr><td>&nbsp;</td></tr>';
echo '<tr><td>Nation</td><td><SELECT name="adresse_nation" id="adresse_nation" onchange="loadGemeindeData()">';
$nation = new nation();
$nation->getAll();
@@ -786,8 +864,8 @@ foreach ($nation->nation as $row)
echo "<option value='$row->code' $selected>$row->langtext</option>";
}
echo '</SELECT></td></tr>';
echo '<tr><td>Postleitzahl</td><td><input type="text" size="5" maxlength="16" id="plz" name="plz" value="'.$plz.'" onblur="loadGemeindeData()" /></td></tr>';
echo '<tr><td>Adresse</td><td><input type="text" id="adresse" maxlength="256" size="40" name="adresse" value="'.$adresse.'" /></td></tr>';
echo '<tr><td>Postleitzahl</td><td><input type="text" size="10" maxlength="16" id="plz" name="plz" value="'.$plz.'" onblur="loadGemeindeData()" /></td></tr>';
echo '<tr><td>Adresse</td><td><input type="text" id="adresse" maxlength="256" size="30" name="adresse" value="'.$adresse.'" /></td></tr>';
echo '<tr><td>Gemeinde</td><td><div id="gemeindediv">';
//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 '</div><input type="'.($adresse_nation=='A'?'hidden':'text').'" id="adresse-ort-textfeld" maxlength="256" name="ort_txt" value="'.$ort.'"/></td></tr>';
echo '</table>';
echo '<tr><td>&nbsp;</td></tr>';
//echo '</table>';
echo '<div style="display: none;" id="ueb1"><input type="radio" id="ueberschreiben1" name="ueberschreiben" value="Ja" onclick="disablefields2(false)">Bestehende Adresse überschreiben</div>';
echo '<div style="display: none;" id="ueb2"><input type="radio" id="ueberschreiben2" name="ueberschreiben" value="Nein" onclick="disablefields2(false)" checked>Adresse hinzufügen</div>';
echo '<div style="display: none;" id="ueb3"><input type="radio" id="ueberschreiben3" name="ueberschreiben" value="" onclick="disablefields2(true)">Adresse nicht anlegen</div>';
echo '</fieldset></td></tr>';
echo '<tr><td>EMail</td><td><input type="text" id="email" maxlength="128" name="email" value="'.$email.'" /></td></tr>';
echo '<tr><td>Telefon</td><td><input type="text" id="telefon" maxlength="128" name="telefon" value="'.$telefon.'" /></td></tr>';
echo '<tr><td>Mobil</td><td><input type="text" id="mobil" maxlength="128" name="mobil" value="'.$mobil.'" /></td></tr>';
echo '</td></tr>';
echo '<tr><td>EMail</td><td><input type="text" id="email" maxlength="128" size="30" name="email" value="'.$email.'" /></td></tr>';
echo '<tr><td>Telefon</td><td><input type="text" id="telefon" maxlength="128" size="30" name="telefon" value="'.$telefon.'" /></td></tr>';
echo '<tr><td>Mobil</td><td><input type="text" id="mobil" maxlength="128" size="30" name="mobil" value="'.$mobil.'" /></td></tr>';
echo '<tr><td>Letzte Ausbildung</td><td><SELECT id="letzteausbildung" name="letzteausbildung">';
echo '<OPTION value="">-- keine Auswahl --</OPTION>';
$qry = "SELECT * FROM bis.tbl_ausbildung ORDER BY ausbildungcode";
@@ -837,8 +915,8 @@ echo '</SELECT>';
echo '</td></tr>';
echo '<tr><td>Lektor</td><td><input type="checkbox" name="lektor" '.($lektor?'checked':'').' /></td></tr>';
echo '<tr><td>Fixangestellt</td><td><input type="checkbox" name="fixangestellt" '.($fixangestellt?'checked':'').' /></td></tr>';
echo '<tr><td>Personalnummer</td><td><input type="text" name="personalnummer" size="4" value="'.$personalnummer.'" /> (optional)</td></tr>';
echo '<tr><td>Anmerkungen</td><td><textarea id="anmerkung" name="anmerkungen">'.$anmerkungen.'</textarea></td></tr>';
echo '<tr><td>Personalnummer</td><td><input type="text" name="personalnummer" size="10" value="'.$personalnummer.'" /> (optional)</td></tr>';
echo '<tr><td>Anmerkungen</td><td><textarea id="anmerkung" name="anmerkungen" cols="25">'.$anmerkungen.'</textarea></td></tr>';
echo '<tr><td></td><td>';
if(($geburtsdatum=='' && $vorname=='' && $nachname=='') || $geburtsdatum_error)
+35 -57
View File
@@ -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;
@@ -92,18 +92,20 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE" "http://www
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<link rel="stylesheet" href="../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>';
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
echo ' <script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[1,0],[3,0]],
widgets: ["zebra"]
widgets: ["zebra", "filter"],
headers: {1: { sorter: "shortDate", dateFormat: "ddmmyyyy" }}
});
$("#t2").tablesorter(
{
+68 -35
View File
@@ -2547,59 +2547,92 @@ if($reihungstest_id!='')
{
//Liste der Interessenten die zum Reihungstest angemeldet sind
$qry = "
SELECT DISTINCT
rt_person_id,
SELECT DISTINCT rt_person_id,
rt_id,
'0' as prestudent_id,
'0' AS prestudent_id,
tbl_rt_person.person_id,
vorname,
nachname,
ort_kurzbz,
studienplan_id,
studiengang_kz,
tbl_rt_person.ort_kurzbz,
tbl_rt_person.studienplan_id,
tbl_prestudent.studiengang_kz,
gebdatum,
geschlecht,
punkte
,(
punkte,
(
SELECT kontakt
FROM tbl_kontakt
WHERE kontakttyp = 'email'
AND person_id = tbl_rt_person.person_id
AND zustellung = true LIMIT 1
) AS email
,(
) AS email,
(
SELECT ausbildungssemester
FROM public.tbl_prestudentstatus
FROM PUBLIC.tbl_prestudentstatus
WHERE prestudent_id = tbl_prestudent.prestudent_id
AND datum = (
SELECT MAX(datum)
FROM public.tbl_prestudentstatus
FROM PUBLIC.tbl_prestudentstatus
WHERE prestudent_id = tbl_prestudent.prestudent_id
AND status_kurzbz = 'Interessent'
) LIMIT 1
) AS ausbildungssemester
,(
SELECT orgform_kurzbz
FROM public.tbl_prestudentstatus
WHERE prestudent_id = tbl_prestudent.prestudent_id
AND datum = (
SELECT MAX(datum)
FROM public.tbl_prestudentstatus
WHERE prestudent_id = tbl_prestudent.prestudent_id
AND status_kurzbz = 'Interessent'
) LIMIT 1
) AS orgform_kurzbz
FROM
public.tbl_rt_person
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent ON (tbl_rt_person.person_id=tbl_prestudent.person_id)
WHERE
rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER)."
AND tbl_rt_person.studienplan_id IN (
SELECT studienplan_id
FROM public.tbl_prestudentstatus
WHERE prestudent_id=tbl_prestudent.prestudent_id)
ORDER BY ort_kurzbz NULLS FIRST,nachname,vorname";
) AS ausbildungssemester,
(
SELECT orgform_kurzbz
FROM PUBLIC.tbl_prestudentstatus
WHERE prestudent_id = tbl_prestudent.prestudent_id
AND datum = (
SELECT MAX(datum)
FROM PUBLIC.tbl_prestudentstatus
WHERE prestudent_id = tbl_prestudent.prestudent_id
AND status_kurzbz = 'Interessent'
) LIMIT 1
) AS orgform_kurzbz
FROM PUBLIC.tbl_rt_person
JOIN PUBLIC.tbl_person USING (person_id)
JOIN PUBLIC.tbl_reihungstest rt ON (rt_id = rt.reihungstest_id)
JOIN PUBLIC.tbl_prestudent ON (tbl_rt_person.person_id = tbl_prestudent.person_id)
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
WHERE rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER)."
AND tbl_rt_person.studienplan_id IN (
SELECT studienplan_id
FROM PUBLIC.tbl_prestudentstatus
WHERE prestudent_id = tbl_prestudent.prestudent_id
)
AND tbl_prestudentstatus.studiensemester_kurzbz IN (
SELECT studiensemester_kurzbz
FROM PUBLIC.tbl_studiensemester
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
UNION
(
SELECT studiensemester_kurzbz
FROM PUBLIC.tbl_studiensemester
WHERE ende <= (
SELECT start
FROM PUBLIC.tbl_studiensemester
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
)
ORDER BY ende DESC LIMIT 1
)
UNION
(
SELECT studiensemester_kurzbz
FROM PUBLIC.tbl_studiensemester
WHERE start >= (
SELECT ende
FROM PUBLIC.tbl_studiensemester
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
)
ORDER BY start ASC LIMIT 1
)
)
ORDER BY ort_kurzbz NULLS FIRST,
nachname,
vorname";
$mailto = '';
$result_arr = array();