ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
Todo List
Class ASS_AnswerBinaryState

Get rid of duplicate methods (hiding behind different names.

Rework class to use a true binary state (boolean) instead of integer

Rename class to something that matches the filename properly.

Global assClozeTestGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assErrorTextGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Class Assetic
A better asset-matcher mechanism
Global Assetic::getChildren (AssetFactory $factory, $content, $loadPath=null)

support for import-once

support for import (less) "lib.css"

Global assFileUploadGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assFlashQuestionGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assImagemapQuestionGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assJavaAppletGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assMatchingQuestionGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assMultipleChoiceGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assOrderingHorizontalGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assOrderingQuestionGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assQuestionGUI::getSpecificFeedbackOutput ($active_id, $pass)
Mark this method abstract!
Global assSingleChoiceGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assTextQuestionGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global assTextSubsetGUI::setQuestionTabs ()
: MOVE THIS STEPS TO COMMON QUESTION CLASS assQuestionGUI
Global CleanUpTest::doTestBytes ( $head, $tail)
document
Global CleanUpTest::doTestDoubleBytes ( $head, $tail)
document
Global CleanUpTest::doTestTripleBytes ( $head, $tail)
document
Global CleanUpTest::setUp ()
document
Global CleanUpTest::tearDown ()
document
Global CleanUpTest::testAllBytes ()
document
Global CleanUpTest::testAscii ()
document
Global CleanUpTest::testBomRegression ()
document
Global CleanUpTest::testChunkRegression ()
document
Global CleanUpTest::testDoubleBytes ()
document
Global CleanUpTest::testForbiddenRegression ()
document
Global CleanUpTest::testHangulRegression ()
document
Global CleanUpTest::testInterposeRegression ()
document
Global CleanUpTest::testLatin ()
document
Global CleanUpTest::testLatinNormal ()
document
Global CleanUpTest::testNull ()
document
Global CleanUpTest::testOverlongRegression ()
document
Global CleanUpTest::testSurrogateRegression ()
document
Global CleanUpTest::testTripleBytes ()
document
Global CleanUpTest::XtestAllChars ()
document
Global ConfigDoc_HTMLXSLTProcessor::transformToHTML ($xml)
Rename to transformToXHTML, as transformToHTML is misleading
Module DifferenceEngine

indicate where diff.doc can be found.

document

document

document

document

document

document

document

document, bad name.

document

document

document

document

Global FSTools_File::get ()
Throw an exception if file doesn't exist
Global GeSHi::disable_highlighting ()
Rewrite with array traversal
Global GeSHi::enable_highlighting ($flag=true)
Rewrite with array traversal
Global GeSHi::enable_important_blocks ($flag)
REMOVE THIS SHIZ FROM GESHI!
Global GeSHi::get_language_name_from_extension ( $extension, $lookup=array())
Re-think about how this method works (maybe make it private and/or make it a extension->lang lookup?)
Global GeSHi::handle_keyword_replace ($match)
Get rid of ender in keyword links
Global GeSHi::header ()
Document behaviour change - class is outputted regardless of whether we're using classes or not. Same with style
Global GeSHi::highlight_lines_extra ($lines, $style=null)
Some data replication here that could be cut down on
Global GeSHi::load_from_file ($file_name, $lookup=array())
Complete rethink of this and above method
Global GeSHi::load_language ($file_name)
Needs to load keys for lexic permissions for keywords, regexps etc
Global GeSHi::parse_non_string_part ($stuff_to_parse)
BUGGY! Why? Why not build string and return?
Class HTMLPurifier
We need an easier way to inject strategies using the configuration object.
Global HTMLPurifier_AttrDef_CSS_Composite::$defs
Make protected
Global HTMLPurifier_AttrDef_CSS_Multiple::$max
Make protected
Global HTMLPurifier_AttrDef_CSS_Multiple::$single
Make protected
Global HTMLPurifier_AttrDef_Enum::$valid_values
Make protected
Class HTMLPurifier_Config
Reconsider some of the public member variables
Class HTMLPurifier_ContentSets
Unit test
Global HTMLPurifier_CSSDefinition::setupConfigStuff ($config)
Refactor duplicate elements into common class (probably using composition, not inheritance).
Class HTMLPurifier_DefinitionCache

Create a separate maintenance file advanced users can use to cache their custom HTMLDefinition, which can be loaded via a configuration directive

Implement memcached

Global HTMLPurifier_DefinitionCache_Serializer::generateBaseDirectoryPath ($config)
Make protected
Global HTMLPurifier_DefinitionCache_Serializer::generateDirectoryPath ($config)
Make protected
Global HTMLPurifier_DefinitionCache_Serializer::generateFilePath ($config)
Make protected
Global HTMLPurifier_Filter_ExtractStyleBlocks::preFilter ($html, $config, $context)
Extend to indicate non-text/css style blocks
Class HTMLPurifier_Generator

Refactor interface so that configuration/context is determined upon instantiation, no need for messy generateFromTokens() calls

Make some of the more internal functions protected, and have unit tests work around that

Global HTMLPurifier_Generator::escape ($string, $quote=null)
This really ought to be protected, but until we have a facility for properly generating HTML here w/o using tokens, it stays public.
Global HTMLPurifier_HTMLDefinition::parseTinyMCEAllowedList ($list)
Give this its own class, probably static interface
Class HTMLPurifier_HTMLModule
Consider making some member functions protected
Class HTMLPurifier_HTMLModule_Tidy
Figure out how to protect some of these methods/properties
Global HTMLPurifier_HTMLModule_Tidy::setup ($config)
Wildcard matching and error reporting when an added or subtracted fix has no effect.
Class HTMLPurifier_Injector
Allow injectors to request a re-run on their output. This would help if an operation is recursive.
Class HTMLPurifier_Injector_AutoParagraph

Ensure all states are unit tested, including variations as well.

Make a graph of the flow control for this Injector.

Global HTMLPurifier_Language::$_loaded
Make it private, fix usage in HTMLPurifier_LanguageTest
Global HTMLPurifier_Language::formatMessage ($key, $args=array())
Implement conditionals? Right now, some messages make reference to line numbers, but those aren't always available
Class HTMLPurifier_LanguageFactory
Serialized cache for languages
Global HTMLPurifier_Lexer::extractBody ($html)
Consider making protected
Global HTMLPurifier_Lexer::normalize ($html, $config, $context)
Consider making protected
Class HTMLPurifier_Lexer_DirectLex
Reread XML spec and document differences.
Global HTMLPurifier_Lexer_DOMLex::createStartNode ($node, &$tokens, $collect)
data and tagName properties don't seem to exist in DOMNode?
Class HTMLPurifier_Printer_ConfigForm
Rewrite to use Interchange objects
Global HTMLPurifier_Printer_HTMLDefinition::listifyObjectList ($array)
Also add information about internal state
Class HTMLPurifier_Strategy_FixNesting
Enable nodes to be bubbled out of the structure. This is easier with our new algorithm.
Class HTMLPurifier_TokenFactory
Port DirectLex to use this
Class HTMLPurifier_URIScheme_mailto

Validate the email address

Filter allowed query parameters

Class ilAdministrationExplorerGUI
: isClickable, top node id
Global ilassMarkTest::testSetMinimumLevel_High ()

Enhance documentation of class.assMark.php::setMinimumLevel();

Enhance documentation of class.assMark.php::getMinimumLevel();

Global ilAssQuestionPageGUI::insertPageToc ($a_output)
: support question info and actions in the page XSL directly the current workaround avoids changing the COPage service
Class ilAuthContainerSOAP
This class should inherit either from Auth_Container_SOAP or Auth_Container_SOAP5
Class ilBookmarkBlockExplorerGUI
: target, onclick
Global ilCalendarAppointmentGUI::askEdit ()
works with milestones???
Global ilChatroom::addHistoryEntry ($message, $recipient=null, $publicMessage=true)
$recipient, $publicMessage speichern ilDBInterface $ilDB
Global ilChatroom::disconnectAllUsersFromAllRooms ()
nicht nur löschen, auch in Session Tabelle nachpflegen
Global ilChatroomTabGUIFactory::getLabel ($tabDefinition, $id)
: $tabDefinition sollte doch stets ein array und $id stets ein string sein, oder? Dann sollte man auch hier typehinten. (array $tabDefinition, string $id)
Global ilChatroomTaskHandlerTest::testRedirectIfNoPermission ()
Weak static call
Global ilChatroomUploadFileGUI::displayLinkToUploadedFile ($room, $chat_user)
erwartet message als json
Global ilChatroomUploadFileGUI::uploadFile ()
: filename must be unique.
Global ilChatroomUserTest::testGetUsernameFromIlObjUser ()
if required session value is not set, there will be a warning.
Global ilConsultationHoursGUI::appointmentList ()
add list/filter of consultation hours if user is responsible for more than one other consultation hour series.
Global ilCOPageHTMLExport::exportSupportScripts ()
: use ilPageContent js/css functions here (problem: currently they need a page object for init)
Global ilCounterDetector::trigger ($params)
Handle ignored $a_params.
Global ilCourseMembershipGUI::getLocalTypeRole ($a_translation=false)
refactor delete
Global ilDataDetector::trigger ($params)
Handle ignored $params.
Global ilDBOracle::now ()
fix this
Global ilDBPostgreSQL::now ()
fix this
Global ilFileDataMail::initAttachmentMaxUploadSize ()
mjansen: Unfortunately we cannot reuse the implementation of ilFileInputGUI
Global ilGroupMembershipGUI::getLocalTypeRole ($a_translation=false)
refactor delete
Class ILIAS
review the concept how the object type definition is loaded. We need a concept to edit the definitions via webfrontend in the admin console.
Class ilLanguage

Das Datefeld wird bei Aenderungen einer Sprache (update, install, deinstall) nicht richtig gesetzt!!! Die Formatfunktionen gehoeren nicht in class.Language. Die sind auch woanders einsetzbar!!! Daher->besser in class.Format

The DATE field is not set correctly on changes of a language (update, install, your stable). The format functions do not belong in class.Language. Those are also applicable elsewhere. Therefore, they would be better placed in class.Format

Global ilLDAPServer::toggleDataSource ($a_ldap_server_id, $a_auth_mode, $a_status)
handle multiple ldap servers
Global ilLDAPUserSynchronisation::sync ()
Redirects to account migration if required
Global ilLoggingDBSettings::getLevelByComponent ($a_component_id)
better performance
Global ilLOSettings::getInitialTest ()
refactor
Global ilLOSettings::getQualifiedTest ()
refactor
Global ilLOSettings::getTestByType ($a_type)
refactor
Global ilLOSettings::getTests ()
refactor
Global ilLOSettings::isRandomTestType ($a_type)
refactor
Global ilLOSettings::setInitialTest ($a_id)
refactor
Global ilLOSettings::setQualifiedTest ($a_id)
refactor
Global ilLuceneSearchGUI::getDetails ()
rename
Global ilLuceneSearchGUI::getMimeDetails ()
rename
Global ilLuceneSearchGUI::getType ()
rename Needed for base class search form
Global ilLuceneUserSearchGUI::getDetails ()
rename
Global ilLuceneUserSearchGUI::getType ()
rename Needed for base class search form
Global ilLuceneUserSearchGUI::prepareOutput ()
Global ilMediaPoolPage::lookupUsages ($a_id, $a_incl_hist=true)
: This should be all in one context -> mob id table
Global ilMembershipGUI::createMailSignature ()
better implementation Create Mail signature
Global ilMembershipGUI::printMembers ()
: refactor to own class
Global ilMembershipRegistrationCodes::register ($a_user_id)
Throw exeption if registration is impossible due to other restrictions.
Global ilMembershipRegistrationCodeUtils::useCode ($a_code, $a_endnode)
: throw an error if registration fails (max members, availibility...)
Class ilMembershipRegistrationSettings
course, groups)
Global ilNestedSetTree::moveToTrash ($a_node_id)
lock table locktable already active due to calling method
Global ilNotificationAdminSettingsForm::getGeneralSettingsForm ()

dirty...

dirty...

dirty...

Global ilNotificationGUI::getOSDNotificationsObject ()
this method should move to a better place as it handels channel sprecific things.
Global ilNotificationSetupHelper::setupTables ()
hier wird ein fehler geworfen...
Global ilNotificationSystem::toUsers (ilNotificationConfig $notification, $users, $processAsync=false)
was ist hier?
Global ilObject::putInTree ($a_parent_ref)
role/rbac stuff
Global ilObjMediaObject::lookupUsages ($a_id, $a_include_history=true)
: This should be all in one context -> mob id table
Global ilObjNotificationAdminGUI::saveGeneralSettingsObject ()
dirty...
Global ilObjNotificationAdminGUI::showGeneralSettingsObject ($form=null)
dirty...
Global ilObjQuestionPool::_getSelfAssessmentQuestionTypes ($all_tags=FALSE)
Make it more flexible
Global ilPageObject::resolveResources ($ref_mapping)
: move this into proper "afterImport" routine that calls all PC components
Global ilPrivacySettings::checkExportAccess ($a_ref_id, $a_user_id=0)
rename
Global ilRbacReview::__getParentRoles ($a_path, $a_templates)
refactor rolf => DONE
Global ilRbacReview::__setProtectedStatus ($a_parent_roles, $a_role_hierarchy, $a_ref_id)
refactor rolf => DONE
Global ilRbacReview::__setRoleType ($a_role_list)
refactor rolf => DONE
Global ilRbacReview::__setTemplateFilter ($a_templates)
refactor rolf => DONE
Global ilRbacReview::_getOperationIdByName ($a_operation)
refactor rolf => DONE
Global ilRbacReview::_getOperationIdsByName ($operations)
refactor rolf => DONE
Global ilRbacReview::_getOperationList ($a_type=null)
refactor rolf => DONE
Global ilRbacReview::_groupOperationsByClass ($a_ops_arr)
refactor rolf => DONE
Global ilRbacReview::assignedGlobalRoles ($a_usr_id)
refactor rolf => DONE
Global ilRbacReview::assignedRoles ($a_usr_id)
refactor rolf => DONE
Global ilRbacReview::getActiveOperationsOfRole ($a_ref_id, $a_role_id)
refactor rolf => DONE
Global ilRbacReview::getAllOperationsOfRole ($a_rol_id, $a_parent=0)
refactor rolf => DONE
Global ilRbacReview::getAssignableChildRoles ($a_ref_id)
refactor rolf => Find a better name; reduce sql fields
Global ilRbacReview::getAssignableRoles ($a_templates=false, $a_internal_roles=false, $title_filter='')
refactor rolf => DONE
Global ilRbacReview::getAssignableRolesInSubtree ($ref_id)
refactor rolf => DONE
Global ilRbacReview::getFoldersAssignedToRole ($a_rol_id, $a_assignable=false)
refactor rolf => RENAME (rest done)
Global ilRbacReview::getGlobalAssignableRoles ()
refactor rolf => DONE
Global ilRbacReview::getGlobalRoles ()
refactor rolf => DONE
Global ilRbacReview::getGlobalRolesArray ()
refactor rolf => DONE
Global ilRbacReview::getLocalRoles ($a_ref_id)
refactor rolf => DONE
Global ilRbacReview::getNumberOfAssignedUsers (Array $a_roles)
refactor rolf => DONE
Global ilRbacReview::getObjectOfRole ($a_role_id)
refactor rolf (due to performance reasons the new version does not check for deleted roles only in object reference)
Global ilRbacReview::getObjectReferenceOfRole ($a_role_id)
refactor rolf (no deleted check)
Global ilRbacReview::getObjectsWithStopedInheritance ($a_rol_id, $a_filter=array())
refactor rolf => DONE
Global ilRbacReview::getOperation ($ops_id)
refactor rolf => DONE
Global ilRbacReview::getOperationAssignment ()
refactor rolf => DONE
Global ilRbacReview::getOperations ()
refactor rolf => DONE
Global ilRbacReview::getOperationsByTypeAndClass ($a_type, $a_class)
refactor rolf => DONE
Global ilRbacReview::getOperationsOfRole ($a_rol_id, $a_type, $a_parent=0)
refactor rolf => DONE
Global ilRbacReview::getOperationsOnType ($a_typ_id)
rafactor rolf => DONE
Global ilRbacReview::getOperationsOnTypeString ($a_type)
rafactor rolf => DONE
Global ilRbacReview::getParentRoleIds ($a_endnode_id, $a_templates=false)
refactor rolf => DONE
Global ilRbacReview::getRoleFolderOfRole ($a_role_id)
refactor rolf => RENAME
Global ilRbacReview::getRoleListByObject ($a_ref_id, $a_templates=false)
refactor rolf => DONE
Global ilRbacReview::getRoleOperationsOnObject ($a_role_id, $a_ref_id)
rafactor rolf => DONE
Global ilRbacReview::getRolesByFilter ($a_filter=0, $a_user_id=0, $title_filter='')
refactor rolf => DONE
Global ilRbacReview::getRolesForIDs ($role_ids, $use_templates)
refactor rolf => DONE
Global ilRbacReview::getRolesOfObject ($a_ref_id, $a_assignable_only=FALSE)
refactor rolf => DONE
Global ilRbacReview::getRolesOfRoleFolder ($a_ref_id, $a_nonassignable=true)
refactor rolf => RENAME
Global ilRbacReview::getTypeId ($a_type)
refactor rolf => DONE
Global ilRbacReview::getUserPermissionsOnObject ($a_user_id, $a_ref_id)
refactor rolf => DONE
Global ilRbacReview::hasMultipleAssignments ($a_role_id)
refactor rolf => DONE
Global ilRbacReview::isAssignable ($a_rol_id, $a_ref_id)
refactor rolf (expects object reference id instead of rolf) => DONE
Global ilRbacReview::isAssigned ($a_usr_id, $a_role_id)
refactor rolf => DONE
Global ilRbacReview::isAssignedToAtLeastOneGivenRole ($a_usr_id, $a_role_ids)
refactor rolf => DONE
Global ilRbacReview::isDeleteable ($a_role_id, $a_rolf_id)
refactor rolf => DONE
Global ilRbacReview::isDeleted ($a_node_id)
refactor rolf => DELETE method
Global ilRbacReview::isGlobalRole ($a_role_id)
refactor rolf => DONE
Global ilRbacReview::isProtected ($a_ref_id, $a_role_id)

refactor rolf => search calls ilDB $ilDB

refactor rolf => DONE

Global ilRbacReview::isRoleAssignedToObject ($a_role_id, $a_parent_id)
refactor rolf => DONE (renamed)
Global ilRbacReview::isRoleDeleted ($a_role_id)
refactor rolf => DONE
Global ilRbacReview::isSystemGeneratedRole ($a_role_id)
refactor rolf => DONE
Global ilRbacReview::lookupCreateOperationIds ($a_type_arr)
refactor rolf => DONE
Global ilRbacReview::roleExists ($a_title, $a_id=0)
refactor rolf => DONE
Class ilRepositoryExplorerGUI
: isClickable, top node id
Global ilSCORM2004NodeGUI::putInTree ($a_parent_id, $a_target)
: move to application class
Global ilSCORM2004NodeGUI::showOrganization ()

: check if we need this

: check if we need this

: check if we need this

: check if we need this

Global ilSCORM2004Sco::getMainObjectiveText ()
: This should be saved in a better way in the future
Global ilSearchSettings::getEnabledLuceneItemFilterDefinitions ()
This has to be defined in module.xml
Global ilSearchSettings::getLuceneItemFilterDefinitions ()
This has to be defined in module.xml
Global ilSessionReminder::initWithUserContext ()
: php7: done
Global ilSimpleDetector::trigger ($params)
Handle ignored $params.
Global ilStartUpGUI::processCode ()
has to be refactored.
Global ilStartUpGUI::showLoginPage (ilPropertyFormGUI $form=null)
check for forced authentication like ecs, ...
Global ilSurveyPageGUI::appendNewQuestionToSurvey ($a_new_id, $a_duplicate=true, $a_force_duplicate=false)
: move out of GUI class, see also ilObjSurvey->insertQuestion
Global ilSurveyPageGUI::movePage ()
this needs to be refactored outside of a GUI class, same with ilSurveyEditorGUI->insertQuestions
Global ilTestSessionFactory::getSessionByUserId ($userId)
: Björn, we also need to handle the anonymous user here
Global ilTimerDetector::trigger ($params)
Handle ignored $params.
Global ilTreeImplementation::getSubTreeIds ($a_node_id)
should be merged with getSubTree()
Global ilUserSearchOptions::_getSearchableFieldsInfo ($a_admin=false)
: implement a more general solution
Global ilWikiUtil::processInternalLinks ($s, $a_wiki_id, $a_mode=IL_WIKI_MODE_REPLACE, $a_collect_non_ex=false, $a_offline=false)
We might want to use trim($tmp, "\n") here.
File old-extract-schema.php
Extract version numbers.
Module Parser

document, briefly.

document, briefly.

Global Parser::replaceInternalLinks ( $s)
We might want to use trim($tmp, "\n") here.
Global Parser::replaceUnusualEscapes ( $url)
This can merge genuinely required bits in the path or query string, breaking legit URLs. A proper fix would treat the various parts of the URL differently; as a workaround, just use the output for statistical records, not for actual linking/output.
Namespace PHPExcel
Sort out xdebug in vagrant so that this works in all sandboxes For now, it is safer to test for it rather then remove it.
Global PHPExcel_Calculation_LookupRef::INDIRECT ($cellAddress=NULL, PHPExcel_Cell $pCell=NULL)
Support for the optional a1 parameter introduced in Excel 2010
Global PHPExcel_Calculation_Statistical::BINOMDIST ($value, $trials, $probability, $cumulative)
Cumulative distribution function
Global PHPExcel_Calculation_Statistical::CRITBINOM ($trials, $probability, $alpha)
Warning. This implementation differs from the algorithm detailed on the MS web site in that $CumPGuessMinus1 = $CumPGuess - 1 rather than $CumPGuess - $PGuess This eliminates a potential endless loop error, but may have an adverse affect on the accuracy of the function (although all my tests have so far returned correct results).
Global PHPExcel_Calculation_Statistical::LOGINV ($probability, $mean, $stdDev)
Try implementing P J Acklam's refinement algorithm for greater accuracy if I can get my head round the mathematics (as described at) http://home.online.no/~pjacklam/notes/invnorm/
Global Sanitizer::escapeClass ( $class)
For extra validity, input should be validated UTF-8.
Global Sanitizer::setupAttributeWhitelist ()
Document it a bit
Global Sanitizer::validateTagAttributes ( $attribs, $element)

Check for legal values where the DTD limits things.

Check for unique id attribute :P

Global Securimage::generateWAV ($letters)
Add ability to merge 2 sound files together to have random background sounds
Global string

check err reporting works

As above - rethink the whole idea of important blocks as it is buggy and will be hard to implement in 1.2

Global Title::newFromID ( $id)
This is inefficiently implemented, the page row is requested but not used for anything else
Global Title::setFragment ( $fragment)
clarify whether access is supposed to be public (was marked as "kind of public")
Global Title::userCanEditCssJsSubpage ()
XXX: this might be better using restrictions
Global Title::userCanRead ()
fold these checks into userCan()
Global Whoops::getArray ()
If this gets any more complex than this, have getIterator use this method.
Global Whoops::getPreviousExceptionInspector ()
Clean this up a bit, cache stuff a bit better.