'Remove completely, use instead.', '$csssw' => '[cssClassSwitcher] Remove completely, use
instead.', 'DBMigration' => 'Use Migration instead', 'Request::removeMagicQuotes()' => 'Remove completely since magic quotes are removed from php', 'base_without_infobox' => 'Use layouts/base.php instead.', 'deprecated_tabs_layout' => 'Don\'t use this. Use the global layout layouts/base.php and Navigation instead.', 'setInfoBoxImage' => 'Replace with Sidebar', 'addToInfobox' => 'Replace with Sidebar', 'InfoboxElement' => 'Replace with appropriate Sidebar element', 'InfoboxWidget' => 'Replace with appropriate Sidebar widget', 'details.php' => 'Link to dispatch.php/course/details instead', 'institut_main.php' => 'Link to dispatch.php/institute/overview instead', 'meine_seminare.php' => 'Link to dispatch.php/my_courses instead', 'sms_box.php' => 'Link to dispatch.php/messages/overview or dispatch.php/messages/sent instead', 'sms_send.php' => 'Link to dispatch.php/messages/write instead', 'get_global_perm' => 'Use $GLOBALS[\'perm\']->get_perm() instead', 'log_event(' => 'Use StudipLog::log() instead', '->removeOutRangedSingleDates' => 'Use SeminarCycleDate::removeOutRangedSingleDates instead', 'HolidayData' => 'Use class SemesterHoliday instead', 'CourseTopic::createFolder' => 'Use CourseTopic::connectWithDocumentFolder() instead', 'SimpleORMap::haveData' => 'Use SimpleORMap::isDirty() or SimpleORMap::isNew() instead', 'Seminar::getMetaDateType' => 'Don\'t use this!', 'UserConfig::setUserId' => 'Don\'t use this. Set the user via the constructor.', 'StudIPTemplateEngine' => 'Time to refactor your plugin.', 'AbstractStudIPAdministrationPlugin' => 'Time to refactor your plugin.', 'AbstractStudIPCorePlugin' => 'Time to refactor your plugin.', 'AbstractStudIPHomepagePlugin' => 'Time to refactor your plugin.', 'AbstractStudIPLegacyPlugin' => 'Time to refactor your plugin.', 'AbstractStudIPPortalPlugin' => 'Time to refactor your plugin.', 'AbstractStudIPStandardPlugin' => 'Time to refactor your plugin.', 'AbstractStudIPSystemPlugin' => 'Time to refactor your plugin.', 'new Permission(' => 'Time to refactor your plugin.', 'Permission::' => 'Time to refactor your plugin.', 'PluginNavigation' => 'Time to refactor your plugin.', 'new StudIPUser(' => 'Time to refactor your plugin.', 'StudIPUser::' => 'Time to refactor your plugin.', 'StudipPluginNavigation' => 'Time to refactor your plugin.', 'getLinkToAdministrationPlugin' => 'Time to refactor your plugin.', 'getCurrentPluginId' => 'Time to refactor your plugin.', 'saveToSession' => 'Time to refactor your plugin.', 'getValueFromSession' => 'Time to refactor your plugin.', 'ContainerTable' => false, 'DbCrossTableView' => false, 'DbPermissions' => false, 'pclzip' => 'Use Studip\\ZipArchive instead', 'getSeminarRoomRequest' => 'Use RoomRequest model instead', 'getDateRoomRequest' => 'Use RoomRequest model instead', 'ldate' => 'Use PHP\'s date() or strftime() function instead', 'day_diff' => 'Use PHP\'s DateTime::diff() method instead', 'get_day_name' => 'Use PHP\'s strftime() function with parameter \'%A\' instead', 'wday(' => 'Use strftime("%a") or strftime("%A") instead', 'get_ampel_state' => false, 'get_ampel_write' => false, 'get_ampel_read' => false, 'localePictureUrl' => false, 'localeUrl' => false, 'isDatesMultiSem' => false, 'getMetadateCorrespondingDates' => false, 'getCorrespondingMetadates' => false, 'create_year_view' => false, 'javascript_hover_year' => false, 'js_hover' => false, 'info_icons' => false, 'get_message_attachments' => 'Use Message::attachments attribute instead', 'view_turnus' => 'Use Seminar::getFormattedTurnus() instead', 'AddNewStatusgruppe' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'CheckSelfAssign' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'CheckSelfAssignAll' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'CheckAssignRights' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'SetSelfAssignAll' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'SetSelfAssignExclusive' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'EditStatusgruppe' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'MovePersonPosition' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'SortPersonInAfter' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'SortStatusgruppe' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'SubSortStatusgruppe' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'resortStatusgruppeByRangeId' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'SwapStatusgruppe' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'CheckStatusgruppe' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'GetRangeOfStatusgruppe' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'GetGroupsByCourseAndUser' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'getOptionsOfStGroups' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'setOptionsOfStGroup' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'GetStatusgruppeLimit' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'CheckStatusgruppeFolder' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'CheckStatusgruppeMultipleAssigns' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'sortStatusgruppeByName' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'getPersons(' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'getSearchResults(' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'setExternDefaultForUser' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'GetStatusgruppeName' => 'Use Statusgruppen::find($id)->name instead', 'GetStatusgruppenForUser' => 'Use class Statusgruppe or model Statusgruppen instead (yupp, this is still pretty fucked up).', 'get_global_visibility_by_id' => 'Use User::find($id)->visible instead', 'get_global_visibility_by_username' => 'Use User::findByUsername($username)->visible instead', 'get_local_visibility_by_username' => false, 'get_homepage_element_visibility' => false, 'set_homepage_element_visibility' => false, 'checkVisibility' => 'Use Visibility::verify($param, $this->current_user->user_id) instead', 'InsertPersonStatusgruppe' => 'Use :addUser() instead', 'RemovePersonStatusgruppe(' => 'Use Statusgruppen::find($group_id)->removeUser($user_id) instead', 'RemovePersonStatusgruppeComplete' => 'Use Statusgruppen::find($group_id)->removeUser($user_id, true) instead. Maybe you will need to do this on a collection of groups for a course or institute.', 'RemovePersonFromAllStatusgruppen' => 'Use StatusgruppeUser::deleteBySQL("user_id = ?", [$user_id]) instead.', 'DeleteAllStatusgruppen' => 'Use Statusgruppen::deleteBySQL("range_id = ?", [$id]); instead', 'DeleteStatusgruppe' => 'Use Statusgruppen::delete() - or Statusgruppen::remove() if you want to keep the child groups.', 'moveStatusgruppe' => false, 'CheckUserStatusgruppe' => 'Use StatusgruppeUser::exists([$group_id, $user_id]) instead.', 'CountMembersStatusgruppen' => false, 'CountMembersPerStatusgruppe' => false, 'MakeDatafieldsDefault' => 'No longer neccessary.', 'MakeUniqueStatusgruppeID' => 'No longer neccessary. SORM will create ids for you.', 'GetAllSelected' => 'Use Statusgruppen::findAllByRangeId() instead.', 'getStatusgruppenIDS' => 'Use Statusgruppen::findByRange_id() instead.', 'getAllStatusgruppenIDS' => 'Use Statusgruppen::findAllByRangeId() instead.', 'getPersonsForRole' => 'Use :Statusgruppen::members instead.', 'isVatherDaughterRelation' => false, 'SetSelfAssign(' => false, 'getExternDefaultForUser' => 'Use InstituteMember::getDefaultInstituteIdForUser($user_id) instead.', 'checkExternDefaultForUser' => 'Use InstituteMember::ensureDefaultInstituteIdForUser($user_id) instead.', 'getAllChildIDs' => false, 'getKingsInformations' => 'Use User model instead', 'AutoInsert::existSeminars' => false, 'new ZebraTable' => 'No longer neccessary. Use table.default instead.', 'new Table' => 'No longer neccessary. Use table.default instead.', //old datei.inc.php and visual.inc.php functions: 'createSelectedZip' => 'Removed. Use FileArchiveManager::createArchiveFromFileRefs instead.', 'create_zip_from_directory' => 'Removed(?). Use FileArchiveManager::createArchiveFromPhysicalFolder instead.', 'getFileExtension' => 'Removed. Use PHP\'s built-in pathinfo($filename, PATHINFO_EXTENSION) instead.', 'get_icon_for_mimetype' => 'Removed. Use FileManager::getIconNameForMimeType instead.', 'get_upload_file_path' => 'Removed. Use File->getPath() instead.', 'GetDownloadLink' => 'Removed. Use one of the following alternatives instead: FileRef->getDownloadURL(), FileManager::getDownloadLinkForArchivedCourse, FileManager::getDownloadLinkForTemporaryFile or FileManager::getDownloadURLForTemporaryFile', 'prepareFilename' => 'Removed. Use FileManager::cleanFileName instead.', 'GetFileIcon' => 'Removed. Use FileManager::getIconNameForMimeType instead.', 'parse_link' => 'Removed. Use FileManager::fetchURLMetadata instead.', 'unzip_file' => 'Removed. Use Studip\ZipArchive::extractToPath or Studip\ZipArchive::test instead.', 'datei.inc.php' => 'Removed. Use methods in functions.inc.php, FileManager, FileArchiveManager, FileRef, File or FolderType instead.', 'TrackAccess' => 'Removed(?). Use :FileRef::incrementDownloadCounter', //StudipDocument and related classes: 'StudipDocument(' => 'Removed(?). Use class FileRef instead.', 'DocumentFolder(' => 'Removed(?). Use class Folder instead.', 'StudipDocumentTree(' => 'Removed(?). Use class Folder or FolderType instead.', 'WysiwygDocument' => 'Deprecated/To be removed. Use class FileRef in conjunction with a FolderType implementation instead.', 'ZIP_USE_INTERNAL' => 'Removed. Please avoid querying the value of this configuration variable!', 'ZIP_PATH' => 'Removed. Please avoid querying the value of this configuration variable!', 'ZIP_OPTIONS' => 'Removed. Please avoid querying the value of this configuration variable!', 'UNZIP_PATH' => 'Removed. Please avoid querying the value of this configuration variable!', 'RuleAdministrationModel::getAdmissionRuleTypes' => 'Use AdmissionRule::getAvailableAdmissionRules(false) instead.', 'SessSemName' => 'Use class Context instead', '_SESSION["SessionSeminar"]' => 'Use class Context instead', '_SESSION[\'SessionSeminar\']' => 'Use class Context instead', 'Statusgruppe(' => 'Removed(?). Use class Statusgruppen instead.', ];