Commit Graph

144 Commits

Author SHA1 Message Date
Paolo 3b4012798f Fixed some comments typo 2019-04-30 13:13:34 +02:00
Paolo 783910b84c Changed the way to set the header if the user is not authorized 2019-04-30 13:12:12 +02:00
Paolo 976df3868b - Added new core controller CLI_Controller
- Adapted all the controllers jobs to use this new controller
2019-04-30 13:10:58 +02:00
Paolo f65f3daceb - Added private property $_requiredPermissions to APIv1_Controller
- Removed method _isAllowed from APIv1_Controller
- Added public method _remap to APIv1_Controller
- PermissionLib loading moved from constructor to _remap in APIv1_Controller
- Changed method basicAuthentication in AuthLib, now calls loginLDAP
2019-04-25 17:02:43 +02:00
Paolo 02bab0b301 Merge branch 'master' into ciauth 2019-04-12 14:30:28 +02:00
alex 4605413891 FHC-Controller: changed scope of outputJson from private to protected 2019-04-12 14:29:45 +02:00
Paolo 53a0b60ba8 - Removed method getCheckUserAuth form api/v1/CheckUserAuth
- Changed LDAP_Model to a library: LDAPLib
- Removed controller system/Login

AuthLib:
- Added new private method _createAuthObjByPerson
- Moved config load from constructor to _authenticate
- Moved Person_Model load from constructor to _createAuthObjByPerson
- Removed method checkUserAuthByCode
- Removed method checkUserAuthByCodeEmail
- Adapted code to use LDAPLib
2019-03-13 11:57:36 +01:00
Paolo d1b4024b76 - Added new constants LDAP_NO_USER_DN and LDAP_TOO_MANY_USER_DN in constants.php
- LDAP_Model->getUserDN now returns errors with more information
- Login redirection is performed with HTTP code 302 instead of 301
- Fixed _checkHBALDAPAuthentication behavior
- AuthLib errors have more information
2019-03-12 16:14:58 +01:00
Paolo aefd210273 - Added new configuration file auth.php for authentication
- Added new configuration file ldap.php for LDAP connection
- Added new controller system/Login to manage logins
- Added new controller system/Logout to manage logout
- Added new core model LDAP_Model to manage LDAP connections
- Added new constants in config/constants for authentication
- Added new function getCode to hlp_message_helper
- Now core/Auth_Controller loads the AuthLib as first step
- Now PermissionLib does NOT load anymore the AuthLib
- Removed old logic from PermissionLib
- Now function getAuthUID (hlp_authentication_helper) does not load anymore the AuthLib
- Now REST_Controller loads hlp_message_helper and hlp_common_helper
- core/APIv1_Controller does NOT load anymore hlp_message_helper and hlp_common_helper
- Added new constants to AuthLib
- AuthLib constructor now accept a parameter to enable the authentication immediatly (default)
- AuthLib loads configuration file auth.php and Person_model by default
- Added public methods getAuthObj and logout to AuthLib
- Renamed CheckUserAuthByUsernamePassword to checkUserAuthByUsernamePassword, CheckUserAuthByCode to checkUserAuthByCode and CheckUserAuthByCodeEmail to checkUserAuthByCodeEmail in AuthLib
- Added private methods _createAuthObj, _isLogged, _showInvalidAuthentication, _showError, _checkBTAuthentication, _checkHBALDAPAuthentication, _checkLDAPAuthentication, _checkForeignAuthentication, _storeAuthObj and _authenticate to AuthLib
2019-03-12 11:33:01 +01:00
Paolo fdddb52259 - Moved REST_Controller from libraries to core directory
- Changed the relatives includes
- Changed the controller api/v1/CheckUserAuth to be adapted to the AuthLib changes
- Removed function auth from helpers/hlp_authentication_helper
- Adapted function getAuthUID of helpers/hlp_authentication_helper to the AuthLib changes
- Adapted constructor of PermissionLib to the AuthLib changes
2019-02-27 11:24:27 +01:00
Andreas Österreicher 0a23698b7e Fixed Loading of UDF Fields in FAS if there are only UDF Fields for
Persons
2018-12-19 07:35:16 +01:00
Paolo 08af558e8f - Better code in application/libraries/LogLib.php
- Added private property debugMode to application/core/DB_Model.php
- application/core/DB_Model.php now loads Loglib
- Added private method _logLastQuery to application/core/DB_Model.php
- Placed _logLastQuery in DB_Model methods: insert, update, delete, loadWhere, loadTree, execQuery
- DB_Model method load now calls method loadWhere
2018-11-21 14:59:31 +01:00
Paolo bb52aee900 - Moved spl_autoload_register from application/config/config.php to application/config/core_includes.php
- application/config/core_includes.php is included by index.ci.php
- Renamed the prefix of the helpers from "fhc_" to "hlp_"
- Adapted the helpers includes
2018-07-18 12:04:00 +02:00
Andreas Österreicher 96f78a8446 URLs für Message Reply korrigiert 2018-07-17 09:30:32 +02:00
Paolo 04e2e1c54b - Moved functions from FHC-Header to fhc_header_helper
- Added function backwardCompatibleJSMsIe to fhc_header_helper for backward compatibility with older versions of MS IE
- FHC_Controller now loads helper fhc_header too
- Added afarkas/html5shiv and scottjehl/Respond to composer
- Rename function sendMail in fhc_sancho_helper.php to sendSanchoMail
2018-07-11 13:43:18 +02:00
Paolo 37ca34a6b5 - Renamed helpers to avoid conflicts with CI helpers
- Adapted helpers includes
2018-07-11 12:13:39 +02:00
Paolo bfaf4e774b APIv1_Controller now loads helper fhc too 2018-07-10 11:37:04 +02:00
Paolo 83f262f170 - Added helper language_helper to retrive the language of the logged user
- FHC_Controller now loads also the language_helper
- Added missing comments to Auth_Controller
- Fixed comments of session_helper
2018-07-05 12:10:00 +02:00
Paolo 56524dcef2 Merge branch 'master' into permissions 2018-07-02 17:44:14 +02:00
Paolo 419e53a656 - Changed filtersupdate to better divide filters for infocenter overview and freigegeben
- Changed infocenterData to retrive overview filters
- Changed infocenterFreigegebenData to retrive freigegeben filters
- Changed InfoCenter controller to load overview and freigegeben filter's names into the left menu
2018-07-02 17:40:22 +02:00
Paolo 8f566e0499 Auth_Controller is now able to display a better message if the user is unauthorized
This message contains:
- the name of the called controller
- the name of the called method of the called controller
- all the possible permissions and related modes needed to acces to this content
2018-06-28 16:09:12 +02:00
Paolo 46e85a2317 Merge branch 'master' into permissions 2018-06-28 14:52:09 +02:00
Paolo 25e66bf9dd - Added function isEmptyString to fhc_helper
- Added function isEmptyArray to fhc_helper
- Adapted the code in application/* to use as much as possible this two new functions
- Removed the php function empty almost everywhere
2018-06-27 15:06:04 +02:00
Paolo d04b0450da - AuthLib is loaded only in fhcauth_helper, PermissionLib and REST_Controller
- Removed all the NOT usefull loads of helpers and libraries
- Fixed undefined index in controllers/system/UDF and model system/UDF_model
- APIv1_Controller now loads helper fhcauth
- FHC_Controller now loads ithe fhc and session helpers too
- Added/Fixed comments
- PermissionLib does NOT use anymore the getAuthUID function from the fhcauth helper, now relies on AuthLib directly
- REST_Controller loads directly the AuthLib when is needed
2018-06-27 13:12:46 +02:00
Paolo d8bcc25ac2 Now the helper message is loaded only by these controllers and models:
- APIv1_Controller
- FHC_Controller
- MessageToken_model
2018-06-27 11:10:40 +02:00
Paolo 81e4f2968e Merge branch 'master' into permissions
- Added new core controller called Auth_Controller that extends FHC_Controller and manage the authentication
- All the controllers that were extending the CI_Controller now they extend the FHC_Controller
- All the controllers that were extending the FHC_Controller now they extend the Auth_Controller
- Added the method isAllowed to the FiltersLib to check if the authenticated user has the required permissions
- FilterWidget and controller Filters are using the method isAllowed from the FiltersLib
2018-06-08 17:53:12 +02:00
Paolo dbd25d98bd FilterWidget: fixes and improvements 2018-06-06 17:50:28 +02:00
Paolo 0a71bce547 Changes to the FilterWidget 2018-05-29 18:05:22 +02:00
Cris 865eea2245 Added PHRASES translation for javascript
added:
. PhrasesLib.js: translate method for retreiving phrasentexte in users language with JS
. PhrasesLib.php: methods to retrieve data from Phrase_model and return as JSON
. Phrase_model: method to perform query for categories AND phrases-array AND language
. FHC-Header.php:
 -- included js lib
 -- generate global FHC_JS_PHRASES_STORAGE_OBJECT

Changes of other files: loading libs, inits,...
2018-05-29 14:13:00 +02:00
Paolo e691dc8578 - Removed _setControllerId method from controller InfoCenter
- InfoCenter controller now uses setControllerId and getControllerId from FHC_Controller
- Fixed URL query string character in method FHC_Controller->setControllerId
2018-05-23 18:57:39 +02:00
Paolo 748ab6fac3 Unique ID for each call to a controller
- Added constant FHC_CONTROLLER_ID to FHC_Controller
- Added private property _controllerId to FHC_Controller
- Added protected method setControllerId to FHC_Controller
- Added protected method getControllerId to FHC_Controller
2018-05-15 19:19:29 +02:00
Paolo 9d5c9b443e Merge branch 'master' into permissions 2018-04-18 17:35:33 +02:00
Paolo 08c5733298 - Added method loadPhrases to FHC_Conroller as a wrapper to load phrases
- Added method getLanguage to Person_model to load the language for a user by the given UID
- Added comments to method getPhrasesByCategoryAndLanguage of system/Phrase_model, ORDER BY and more fields to SQL statement
2018-04-17 16:00:19 +02:00
Paolo dda27c7d6e - Removed method isEntitled from PermissionLib
- Renamed method checkPermissions to isEntitled
- isEntitled: if the controller is called from the command line, then is always trusted
- Adapted controllers application/core/APIv1_Controller.php and application/core/FHC_Controller.php
2018-03-29 12:23:05 +02:00
Paolo bdafffbb1f Removed permission system from application/core/FS_Model.php 2018-03-29 12:18:55 +02:00
Paolo 4152a67d8f - Removed permission system from DB_Model and FHC_Model
- Removed method _isEntitled from DB_Model
- Removed method isEntitled from DHC_Model
2018-03-29 12:15:12 +02:00
Paolo 1f2450cf17 - Moved _checkPermissions from FHC_Controller to PermissionLib (now is public and it's renamed checkPermissions)
- Added include of PermissionLib in APIv1_Controller
- Added method _isAllowed to APIv1_Controller to call checkPermissions from PermissionLib
- Now the APIv1_Controller constructor requires an array of permissions as parameter
2018-03-20 13:00:35 +01:00
Paolo 15c4c1af24 - Removed application/core/VileSci_Controller.php
- Controllers now don't extend VileSci_Controller but FHC_Controller
2018-03-16 15:22:34 +01:00
Paolo 34f7d335ed Added a check of the user permissions in the FHC_Controller
- FHC_Controller includes PermissionLib
- Added new method _isAllowed to FHC_Controller
- Added permission _checkPermissions to FHC_Controller
- Added new constants to PermissionLib
2018-03-16 15:18:19 +01:00
Andreas Österreicher 68f934a5d0 Removed Budget Tables from Core -> moved to Extension
Fixed Problem during Extension installation
2018-03-15 06:53:50 +01:00
Paolo 72bb40e786 - Added method escapeLike to DB_Model to escape strings for LIKE operator
- Added JS include jqueryui to InfoCenter
- Added left join to system.tbl_person_lock in infocenterData.php
- Added field LockDate to InfoCenter filter
- Added parameter markRow to InfoCenter filter
- Added DragNDrop to FilterWidget to sort/remove the selected filter fields
- FilterWidget now display the name of the loaded filter if available
- Added the property "name" to the jsonb of filters to display the name of the loaded filter
- Added the static method displayFilterName to the FilterWidget to display the name of the loaded filter
- The collapsible panel in FilterWidget now shows/hides the fields selection, the filter operators and the inputs to save the custom filter
- The GUI remembers if the collapsible panel should be closed or open
- Added the "Apply" button to the filter operators
- Added the markRow parameter to the FilterWidget, used to mark a row if one or more conditions are matched
- Added the alternativeMarkRowClass to use a different class to mark a row
- Added the public static function markRow to the FilterWidget
2018-02-21 17:48:03 +01:00
Paolo a7582c8868 - Method execReadOnlyQuery of DB_Model has a less strict check about the query statement
- Added a first management of the type date
2017-12-05 17:39:31 +01:00
Paolo ee3998f62e - Changed system/dbupdate_3.3.php to create table system.tbl_filters and what its needed
- Added model system/Filters_model to manage system.tbl_filters
- Removed method execQuery from model system/UDF_model
- Added property executedQueryMetaData to DB_Model
- Added property executedQueryListFields to DB_Model
- Added method getExecutedQueryListFields to DB_Model
- Added method getExecutedQueryMetaData to DB_Model
- Added method execReadOnlyQuery to DB_Model to execute read only queries from outside a model
- Changed DB_Model method _toPhp to store infos about an executed query into properties executedQueryMetaData and executedQueryListFields
- Updated library UDFLib to use execReadOnlyQuery
- Added widget FilterWidget to render and manage a filter into VileSci
- Added views widgets/filter/selectFields, widgets/filter/selectFilters and widgets/filter/tableDataset used by FilterWidget
2017-11-22 12:08:54 +01:00
Paolo 0bc0a09bf4 - Removed file system execute permission for all files (no directories)
- application/extensions file system permission now is 775
- application/logs file system permission now is 775
- Added extensions directory in application/: config, controllers, helpers, hooks, libraries, models, views and widgets
- Added view views/extensions/manage.php
- Added controller controllers/system/extensions/Manager.php
- Added library ExtensionsLib to manage extensions
- Added model models/system/Extensions_model.php
- Moved code related to print out info from MigrationLib to EPrintfLib
2017-11-13 10:45:49 +01:00
Andreas Österreicher 39392d7c18 - Added Cronjob for correcting Studienplan in Status
- Modified persmission lib to not check persmissions on CLI
- Modified Cronjobs to be able to start CI Jobs
2017-10-24 11:13:59 +02:00
Paolo d1fa93a2b6 DB_model bugfix:
- update method now is using _manageUDFs instead of directly UDFLib->manageUDFs
- _manageUDFs method now accept the id as third parameter
- if the third parameter of _manageUDFs is null the getUDFs is not
called
- If id parameter of method load is null now a correct parameter is given to
get_where
2017-08-23 10:47:12 +02:00
Paolo d8cd786079 - application/core/* -> CS compliant
- application/libraries/* -> CS compliant
- FHC_Model isEntitled method now return error() or success()
- Updated all code that uses isEntitled method from FHC_Model
- Removed Squiz.PHP.DisallowSizeFunctionsInLoops from CS ruleset
- Removed depracated method replace from DB_Model
- Removed unused method pgArrayPhp from DB_Model
- Renamed method arrayMergeIndex to _arrayCombine in DB_Model and set as private
- Added method _manageUDFs to DB_Model (a wrapper for UDFLib->manageUDFs)
2017-08-22 16:24:51 +02:00
Paolo b50aab2d33 - Moved all code related to UDF from DB_Model to UDFLib
- Changed method getUDFs in DB_Model
- Removed method getUDF
- Moved method _getUDFsDefinitions to UDF_model and renamed to getUDFsDefinitions
- Updated model UDF_model
- Updated controller system/UDF
- Updated DB_Model to be more CS compliant
2017-08-18 15:50:59 +02:00
Paolo 226eda73e5 - Added comments to DB_Model
- Method _manageUDFs using a temp variable to store result from _validateUDFs
2017-08-09 16:20:10 +02:00
Paolo 973b74ce7e $validate variable reset on every loop 2017-08-09 15:55:32 +02:00