From 41f94273da5dd92e66564971baddf9fea13da613 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Mon, 12 Jan 2015 00:53:19 +0100 Subject: [PATCH] Continued rewrite: - New base class added for IPv4 protocol handler. - Some improvements here and there - TODOs.txt updated Signed-off-by: Roland Haeder --- .../handler/protocol/{tcp => ipv4}/.htaccess | 0 .../hub/main/handler/protocol/ipv4/class_ | 53 ++++++++ .../ipv4/class_BaseIpV4ProtocolHandler.php | 38 ++++++ .../main/handler/protocol/ipv4/tcp/.htaccess | 1 + .../tcp/class_TcpProtocolHandler.php | 4 +- .../main/tags/package/class_PackageTags.php | 7 +- docs/TODOs.txt | 122 +++++++++++------- 7 files changed, 176 insertions(+), 49 deletions(-) rename application/hub/main/handler/protocol/{tcp => ipv4}/.htaccess (100%) create mode 100644 application/hub/main/handler/protocol/ipv4/class_ create mode 100644 application/hub/main/handler/protocol/ipv4/class_BaseIpV4ProtocolHandler.php create mode 100644 application/hub/main/handler/protocol/ipv4/tcp/.htaccess rename application/hub/main/handler/protocol/{ => ipv4}/tcp/class_TcpProtocolHandler.php (91%) diff --git a/application/hub/main/handler/protocol/tcp/.htaccess b/application/hub/main/handler/protocol/ipv4/.htaccess similarity index 100% rename from application/hub/main/handler/protocol/tcp/.htaccess rename to application/hub/main/handler/protocol/ipv4/.htaccess diff --git a/application/hub/main/handler/protocol/ipv4/class_ b/application/hub/main/handler/protocol/ipv4/class_ new file mode 100644 index 000000000..770d44334 --- /dev/null +++ b/application/hub/main/handler/protocol/ipv4/class_ @@ -0,0 +1,53 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2014 Hub Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.ship-simu.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +class ???ProtocolHandler extends BaseProtocolHandler implements HandleableProtocol, Registerable { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + + // Set handler name + $this->setHandlerName('|||_protocol'); + } + + /** + * Creates an instance of this class + * + * @return $handlerInstance An instance of a HandleableMessage class + */ + public final static function create???ProtocolHandler () { + // Get new instance + $handlerInstance = new ???ProtocolHandler(); + + // Return the prepared instance + return $handlerInstance; + } +} + +// [EOF] +?> diff --git a/application/hub/main/handler/protocol/ipv4/class_BaseIpV4ProtocolHandler.php b/application/hub/main/handler/protocol/ipv4/class_BaseIpV4ProtocolHandler.php new file mode 100644 index 000000000..601dc7ce8 --- /dev/null +++ b/application/hub/main/handler/protocol/ipv4/class_BaseIpV4ProtocolHandler.php @@ -0,0 +1,38 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2014 Hub Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.shipsimu.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +class BaseIpV4ProtocolHandler extends BaseProtocolHandler { + /** + * Protected constructor + * + * @param $className Name of the class + * @return void + */ + protected function __construct ($className) { + // Call parent constructor + parent::__construct($className); + } +} + +// [EOF] +?> diff --git a/application/hub/main/handler/protocol/ipv4/tcp/.htaccess b/application/hub/main/handler/protocol/ipv4/tcp/.htaccess new file mode 100644 index 000000000..3a4288278 --- /dev/null +++ b/application/hub/main/handler/protocol/ipv4/tcp/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/application/hub/main/handler/protocol/tcp/class_TcpProtocolHandler.php b/application/hub/main/handler/protocol/ipv4/tcp/class_TcpProtocolHandler.php similarity index 91% rename from application/hub/main/handler/protocol/tcp/class_TcpProtocolHandler.php rename to application/hub/main/handler/protocol/ipv4/tcp/class_TcpProtocolHandler.php index bdbdd3ee8..91f17868b 100644 --- a/application/hub/main/handler/protocol/tcp/class_TcpProtocolHandler.php +++ b/application/hub/main/handler/protocol/ipv4/tcp/class_TcpProtocolHandler.php @@ -1,6 +1,6 @@ * @version 0.0.0 @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class TcpProtocolHandler extends BaseProtocolHandler implements HandleableProtocol, Registerable { +class TcpProtocolHandler extends BaseIpV4ProtocolHandler implements HandleableProtocol, Registerable { /** * Protected constructor * diff --git a/application/hub/main/tags/package/class_PackageTags.php b/application/hub/main/tags/package/class_PackageTags.php index 242511c8f..5bef93ac5 100644 --- a/application/hub/main/tags/package/class_PackageTags.php +++ b/application/hub/main/tags/package/class_PackageTags.php @@ -132,8 +132,11 @@ class PackageTags extends BaseTags implements Tagable { // Get an array from this tag $entry = $objectRegistryInstance->getArrayFromKey(XmlObjectRegistryTemplateEngine::OBJECT_TYPE_DATA_NAME, $tag); - // If the array is empty, the entry is invalid! - if ((count($entry) == 0) || (!isset($entry[XmlObjectRegistryTemplateEngine::OBJECT_TYPE_DATA_PROTOCOL])) || (!isset($entry[XmlObjectRegistryTemplateEngine::OBJECT_TYPE_DATA_RECIPIENT_TYPE]))) { + /* + * If it is no array or the array is empty or an entry is missing + * the entry is invalid. + */ + if ((!is_array($entry)) || (count($entry) == 0) || (!isset($entry[XmlObjectRegistryTemplateEngine::OBJECT_TYPE_DATA_PROTOCOL])) || (!isset($entry[XmlObjectRegistryTemplateEngine::OBJECT_TYPE_DATA_RECIPIENT_TYPE]))) { // Invalid entry found throw new InvalidTagException(array($this, $tag), self::EXCEPTION_INVALID_TAG); } // END - if diff --git a/docs/TODOs.txt b/docs/TODOs.txt index 8ef8fa236..54a3de753 100644 --- a/docs/TODOs.txt +++ b/docs/TODOs.txt @@ -1,8 +1,9 @@ ### WARNING: THIS FILE IS AUTO-GENERATED BY ./todo-builder.sh ### ### DO NOT EDIT THIS FILE. ### -./application/hub/config.php:757:// @TODO This and the next value is very static again -./application/hub/config.php:821:// @TODO This is very static, rewrite it to more flexible +./application/hub/config.php:775:// @TODO This and the next value is very static again +./application/hub/config.php:839:// @TODO This is very static, rewrite it to more flexible ./application/hub/interfaces/apt-proxy/class_AptProxy.php:10: * @todo We need to find a better name for this interface +./application/hub/interfaces/blocks/class_Minable.php:10: * @todo We need to find a better name for this interface ./application/hub/interfaces/chat/class_Chatter.php:10: * @todo We need to find a better name for this interface ./application/hub/interfaces/crawler/class_Crawler.php:10: * @todo We need to find a better name for this interface ./application/hub/interfaces/cruncher/class_CruncherHelper.php:10: * @todo We need to find a better name for this interface @@ -39,8 +40,10 @@ ./application/hub/main/dht/class_BaseDht.php:253: * @todo Switch flag 'accept_bootstrap' ./application/hub/main/dht/class_BaseDht.php:86: * @todo Find more to do here ./application/hub/main/dht/node/class_NodeDhtFacade.php:61: * @todo Does this data need to be enriched with more meta data? -./application/hub/main/discovery/package/class_PackageRecipientDiscovery.php:86: * @todo Add some validation of recipient field, e.g. ip:port is found -./application/hub/main/discovery/package/class_PackageRecipientDiscovery.php:87: * @todo The if() does only check for TCP, not UDP, e.g. try to get a $handlerInstance here +./application/hub/main/discovery/protocol/class_ProtocolDiscovery.php:71: // @TODO Add some validation here??? +./application/hub/main/discovery/recipient/package/class_PackageRecipientDiscovery.php:86: * @todo Add some validation of recipient field, e.g. an Universal Node Locator is found +./application/hub/main/discovery/recipient/package/class_PackageRecipientDiscovery.php:87: * @todo The if() does only check for TCP, not UDP, e.g. try to get a $handlerInstance here +./application/hub/main/factories/handler/class_ProtocolHandlerFactory.php:10: * @todo Unfinished stuff ./application/hub/main/factories/socket/class_SocketFactory.php:10: * @todo Find an interface for hub helper ./application/hub/main/filter/apt-proxy/class_AptProxyInitializationFilter.php:54: * @todo 0% done ./application/hub/main/filter/apt-proxy/class_AptProxyPhpRequirementsFilter.php:55: * @todo Add more test and try to add an extra message to the thrown exception @@ -79,20 +82,23 @@ ./application/hub/main/filter/task/cruncher/class_CruncherTaskHandlerInitializerFilter.php:55: * @todo 5% done ./application/hub/main/filter/task/miner/class_MinerTaskHandlerInitializerFilter.php:55: * @todo 5% done ./application/hub/main/filter/task/node/class_NodeTaskHandlerInitializerFilter.php:55: * @todo Maybe some more tasks needs to be added? -./application/hub/main/handler/answer-status/announcement/class_AnnouncementAnswerOkayHandler.php:64: * @todo Do some more here: Handle karma, et cetera? +./application/hub/main/handler/answer-status/announcement/class_AnnouncementAnswerOkayHandler.php:63: * @todo Do some more here: Handle karma, et cetera? ./application/hub/main/handler/answer-status/requests/class_RequestNodeListAnswerOkayHandler.php:103: * @todo 0% done ./application/hub/main/handler/answer-status/requests/class_RequestNodeListAnswerOkayHandler.php:115: * @todo 0% done ./application/hub/main/handler/answer-status/requests/class_RequestNodeListAnswerOkayHandler.php:63: * @todo Do some more here: Handle karma, et cetera? ./application/hub/main/handler/class_BaseHandler.php:66: * @todo Rewrite this to use DHT -./application/hub/main/handler/message-types/answer/class_NodeMessageDhtBootstrapAnswerHandler.php:93: * @todo ~30% done +./application/hub/main/handler/message-types/answer/class_NodeMessageDhtBootstrapAnswerHandler.php:90: * @todo ~30% done ./application/hub/main/handler/message-types/self-connect/class_NodeMessageSelfConnectHandler.php:71: // @TODO Throw an exception here instead of dying ./application/hub/main/handler/network/class_BaseRawDataHandler.php:148: * @todo This method will be moved to a better place ./application/hub/main/handler/network/udp/class_UdpRawDataHandler.php:58: * @todo 0% ./application/hub/main/handler/tasks/class_TaskHandler.php:139: // @TODO Messurement can be added around this call +./application/hub/main/helper/class_BaseHubSystemHelper.php:87: * @todo 0% done ./application/hub/main/helper/connection/class_BaseConnectionHelper.php:204: // @TODO Move this to the socket error handler ./application/hub/main/helper/connection/class_BaseConnectionHelper.php:232: * @todo Rewrite the while() loop to a iterator to not let the software stay very long here ./application/hub/main/helper/connection/tcp/class_TcpConnectionHelper.php:10: * @todo Find an interface for hub helper -./application/hub/main/helper/connection/tcp/class_TcpConnectionHelper.php:142: * @todo We may want to implement a filter for ease notification of other objects like our pool +./application/hub/main/helper/connection/tcp/class_TcpConnectionHelper.php:110: // @TODO Rewrite this test for UNLs +./application/hub/main/helper/connection/tcp/class_TcpConnectionHelper.php:117: // @TODO Rewrite this test for UNLs +./application/hub/main/helper/connection/tcp/class_TcpConnectionHelper.php:147: * @todo We may want to implement a filter for ease notification of other objects like our pool ./application/hub/main/helper/connection/tcp/class_TcpConnectionHelper.php:49: * @todo $errorCode/-Message are now in handleSocketError()'s call-back methods ./application/hub/main/helper/connection/tcp/class_TcpConnectionHelper.php:89: // @TODO The whole resolving part should be moved out and made more configurable ./application/hub/main/helper/connection/udp/class_UdpConnectionHelper.php:10: * @todo Find an interface for hub helper @@ -123,15 +129,15 @@ ./application/hub/main/miner/chash/class_HubChashMiner.php:138: * @todo 0% done ./application/hub/main/miner/chash/class_HubChashMiner.php:98: // @TODO Implement this method ./application/hub/main/miner/class_BaseHubMiner.php:200: * @todo Try to make this method more generic so we can move it in BaseFrameworkSystem -./application/hub/main/nodes/boot/class_HubBootNode.php:110: // @TODO Add some filters here +./application/hub/main/nodes/boot/class_HubBootNode.php:116: // @TODO Add some filters here ./application/hub/main/nodes/boot/class_HubBootNode.php:58: * @todo add some more special bootstrap things for this boot node -./application/hub/main/nodes/class_BaseHubNode.php:117: * @todo Make this code more generic and move it to CryptoHelper or -./application/hub/main/nodes/class_BaseHubNode.php:414: * @todo Try to make this method more generic so we can move it in BaseFrameworkSystem -./application/hub/main/nodes/class_BaseHubNode.php:454: * @todo Change the first if() block to check for a specific state -./application/hub/main/nodes/class_BaseHubNode.php:660: * @todo Add checking if this node has been announced to the sender node -./application/hub/main/nodes/class_BaseHubNode.php:680: * @todo Add checking if this node has been announced to the sender node -./application/hub/main/nodes/class_BaseHubNode.php:764: * @todo Find more to do here -./application/hub/main/nodes/class_BaseHubNode.php:777: * @todo Handle thrown exception +./application/hub/main/nodes/class_BaseHubNode.php:131: * @todo Make this code more generic and move it to CryptoHelper or +./application/hub/main/nodes/class_BaseHubNode.php:392: * @todo Try to make this method more generic so we can move it in BaseFrameworkSystem +./application/hub/main/nodes/class_BaseHubNode.php:432: * @todo Change the first if() block to check for a specific state +./application/hub/main/nodes/class_BaseHubNode.php:638: * @todo Add checking if this node has been announced to the sender node +./application/hub/main/nodes/class_BaseHubNode.php:658: * @todo Add checking if this node has been announced to the sender node +./application/hub/main/nodes/class_BaseHubNode.php:761: * @todo Find more to do here +./application/hub/main/nodes/class_BaseHubNode.php:774: * @todo Handle thrown exception ./application/hub/main/nodes/list/class_HubListNode.php:58: * @todo Implement more bootstrap steps ./application/hub/main/nodes/list/class_HubListNode.php:79: // @TODO Add some filters here ./application/hub/main/nodes/list/class_HubListNode.php:88: * @todo 0% done @@ -141,14 +147,14 @@ ./application/hub/main/nodes/regular/class_HubRegularNode.php:58: * @todo Implement this method ./application/hub/main/nodes/regular/class_HubRegularNode.php:79: // @TODO Add some filters here ./application/hub/main/nodes/regular/class_HubRegularNode.php:88: * @todo 0% done -./application/hub/main/package/class_NetworkPackage.php:1117: * @todo This may be enchanced for outgoing packages? -./application/hub/main/package/class_NetworkPackage.php:1148: * @todo Unsupported feature of "signed" messages commented out -./application/hub/main/package/class_NetworkPackage.php:1237: * @todo Implement verification of all sent tags here? +./application/hub/main/package/class_NetworkPackage.php:1150: * @todo This may be enchanced for outgoing packages? +./application/hub/main/package/class_NetworkPackage.php:1181: * @todo Unsupported feature of "signed" messages commented out +./application/hub/main/package/class_NetworkPackage.php:1270: * @todo Implement verification of all sent tags here? ./application/hub/main/package/class_NetworkPackage.php:23: * @todo Needs to add functionality for handling the object's type -./application/hub/main/package/class_NetworkPackage.php:339: // @TODO md5() is very weak, but it needs to be fast -./application/hub/main/package/class_NetworkPackage.php:413: // @TODO md5() is very weak, but it needs to be fast -./application/hub/main/package/class_NetworkPackage.php:576: // @TODO We may want to do somthing more here? -./application/hub/main/package/class_NetworkPackage.php:611: * @todo Unfinished area, signatures are currently NOT fully supported +./application/hub/main/package/class_NetworkPackage.php:338: // @TODO md5() is very weak, but it needs to be fast +./application/hub/main/package/class_NetworkPackage.php:412: // @TODO md5() is very weak, but it needs to be fast +./application/hub/main/package/class_NetworkPackage.php:578: // @TODO We may want to do somthing more here? +./application/hub/main/package/class_NetworkPackage.php:613: * @todo Unfinished area, signatures are currently NOT fully supported ./application/hub/main/package/fragmenter/class_PackageFragmenter.php:275: * @todo Implement a way to send non-announcement packages with extra-salt ./application/hub/main/package/fragmenter/class_PackageFragmenter.php:370: // @TODO This assert broke packages where the hash chunk was very large: assert(strlen($rawData) <= NetworkPackage::TCP_PACKAGE_SIZE); ./application/hub/main/package/fragmenter/class_PackageFragmenter.php:441: * @todo $helperInstance is unused @@ -157,19 +163,30 @@ ./application/hub/main/producer/cruncher/keys/class_CruncherKeyProducer.php:72: * @todo ~30% done ./application/hub/main/producer/cruncher/work_units/class_CruncherTestUnitProducer.php:79: * @todo ~60% done ./application/hub/main/producer/cruncher/work_units/class_CruncherTestUnitProducer.php:88: // @TODO Unfinished work here -./application/hub/main/producer/miner/blocks/class_MinerTestGenesisBlockProducer.php:53: * @todo 0% done -./application/hub/main/producer/miner/blocks/class_MinerTestGenesisBlockProducer.php:63: * @todo 0% done -./application/hub/main/producer/miner/blocks/class_MinerTestGenesisBlockProducer.php:74: * @todo 0% done -./application/hub/main/registry/socket/class_SocketRegistry.php:71: // @TODO Tested again base class, rewrite it to a generic interface! +./application/hub/main/producer/miner/blocks/class_MinerTestGenesisBlockProducer.php:59: * @todo ~10% done +./application/hub/main/producer/miner/blocks/class_MinerTestGenesisBlockProducer.php:75: * @todo 0% done +./application/hub/main/producer/miner/blocks/class_MinerTestGenesisBlockProducer.php:86: * @todo ~5% done +./application/hub/main/recipient/dht/class_DhtRecipient.php:76: // @TODO Unfinished +./application/hub/main/recipient/self/class_SelfRecipient.php:61: // @TODO Add more checks on data +./application/hub/main/registry/socket/class_SocketRegistry.php:72: // @TODO Tested again base class, rewrite it to a generic interface! +./application/hub/main/resolver/protocol/tcp/class_TcpProtocolResolver.php:57: * @todo 0% done ./application/hub/main/resolver/state/peer/class_PeerStateResolver.php:59: * @todo ~30% done +./application/hub/main/scanner/crawler/uploaded_list/class_CrawlerUploadedListScanner.php:52: * @todo 0% done +./application/hub/main/source/urls/class_CrawlerFoundRssUrlSource.php:55: * @todo ~10% done +./application/hub/main/source/urls/class_CrawlerLocalStartUrlSource.php:55: * @todo ~10% done +./application/hub/main/source/urls/class_CrawlerRssStartUrlSource.php:55: * @todo ~10% done +./application/hub/main/source/urls/class_CrawlerUploadedListUrlSource.php:196: * @todo ~20% done +./application/hub/main/states/communicator/init/class_CommunicatorInitState.php:60: * @todo 0% done? ./application/hub/main/states/crawler/active/class_CrawlerActiveState.php:60: * @todo 0% done ./application/hub/main/states/crawler/booting/class_CrawlerBootingState.php:60: * @todo 0% done ./application/hub/main/states/crawler/init/class_CrawlerInitState.php:70: * @todo ~30% done ./application/hub/main/states/dht/class_BaseDhtState.php:10: * @todo Create generic DHT interface +./application/hub/main/states/miner/init/class_MinerInitState.php:60: * @todo 0% done? ./application/hub/main/states/node/active/class_NodeActiveState.php:75: * @todo We might want to move some calls to this method to fill it with life ./application/hub/main/states/node/init/class_NodeInitState.php:60: * @todo We might want to move some calls to this method to fill it with life ./application/hub/main/statistics/connection/class_ConnectionStatisticsHelper.php:11: * @todo Find an interface for hub helper -./application/hub/main/statistics/connection/class_ConnectionStatisticsHelper.php:98: // @TODO last_update is not being used at the moment +./application/hub/main/statistics/connection/class_ConnectionStatisticsHelper.php:29: * @TODO Add more protocols to use +./application/hub/main/statistics/connection/class_ConnectionStatisticsHelper.php:99: // @TODO last_update is not being used at the moment ./application/hub/main/streams/raw_data/input/class_RawDataInputStream.php:58: * @todo Do we need to do something more here? ./application/hub/main/tasks/apt-proxy/class_AptProxyListenerTask.php:63: * @todo 0% ./application/hub/main/tasks/chat/class_ChatTelnetListenerTask.php:63: * @todo 0% @@ -182,6 +199,7 @@ ./application/hub/main/tasks/crawler/ping/class_CrawlerPingTask.php:64: * @todo 0% ./application/hub/main/tasks/crawler/publisher/class_CrawlerRemoteJobPublisherTask.php:53: * @todo Maybe visit some sub-objects ./application/hub/main/tasks/crawler/publisher/class_CrawlerRemoteJobPublisherTask.php:64: * @todo 0% +./application/hub/main/tasks/crawler/scanner/class_CrawlerUploadedListScannerTask.php:53: * @todo Maybe visit some sub-objects ./application/hub/main/tasks/crawler/snippet_extractor/class_CrawlerSnippetExtractorTask.php:53: * @todo Maybe visit some sub-objects ./application/hub/main/tasks/crawler/snippet_extractor/class_CrawlerSnippetExtractorTask.php:64: * @todo 0% ./application/hub/main/tasks/crawler/structure_analyzer/class_CrawlerStructureAnalyzerTask.php:53: * @todo Maybe visit some sub-objects @@ -209,10 +227,10 @@ ./application/hub/main/tasks/node/update/class_NodeUpdateCheckTask.php:53: * @todo 0% ./application/hub/main/template/announcement/class_XmlAnnouncementTemplateEngine.php:10: * @todo This template engine does not make use of setTemplateType() ./application/hub/main/template/answer/announcement/class_XmlAnnouncementAnswerTemplateEngine.php:10: * @todo This template engine does not make use of setTemplateType() -./application/hub/main/template/answer/announcement/class_XmlAnnouncementAnswerTemplateEngine.php:92: * @todo Find something useful with this! +./application/hub/main/template/answer/announcement/class_XmlAnnouncementAnswerTemplateEngine.php:90: * @todo Find something useful with this! ./application/hub/main/template/answer/class_BaseXmlAnswerTemplateEngine.php:10: * @todo This template engine does not make use of setTemplateType() ./application/hub/main/template/answer/dht/class_XmlDhtBootstrapAnswerTemplateEngine.php:10: * @todo This template engine does not make use of setTemplateType() -./application/hub/main/template/answer/dht/class_XmlDhtBootstrapAnswerTemplateEngine.php:95: * @todo Find something useful with this! +./application/hub/main/template/answer/dht/class_XmlDhtBootstrapAnswerTemplateEngine.php:93: * @todo Find something useful with this! ./application/hub/main/template/answer/requests/class_XmlRequestNodeListAnswerTemplateEngine.php:10: * @todo This template engine does not make use of setTemplateType() ./application/hub/main/template/answer/requests/class_XmlRequestNodeListAnswerTemplateEngine.php:82: * @todo Find something useful with this! ./application/hub/main/template/class_BaseXmlTemplateEngine.php:10: * @todo This template engine does not make use of setTemplateType() @@ -229,10 +247,14 @@ ./application/hub/main/template/publish/class_XmlDhtPublishEntryTemplateEngine.php:10: * @todo This template engine does not make use of setTemplateType() ./application/hub/main/template/requests/class_XmlRequestNodeListTemplateEngine.php:10: * @todo This template engine does not make use of setTemplateType() ./application/hub/main/template/requests/class_XmlRequestNodeListTemplateEngine.php:74: * @todo Find something useful with this! -./application/hub/main/tools/class_HubTools.php:177: * @TODO Please try to encapsulate this PHP call into an own class -./application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php:406: // @TODO Unimplemented part -./application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php:464: * @todo Add minimum/maximum age limitations -./application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php:492: * @todo Add timestamp to dataset instance +./application/hub/main/tools/class_HubTools.php:158: // @TODO ((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])):([0-9]{3,5}) +./application/hub/main/tools/class_HubTools.php:248: // @TODO Find a better validation than empty() +./application/hub/main/tools/class_HubTools.php:276: // @TODO Find a better validation than empty() +./application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php:163: // @TODO Bad check on UNL, better use a proper validator +./application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php:209: // @TODO Bad check on UNL, better use a proper validator +./application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php:442: // @TODO Unimplemented part +./application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php:509: * @todo Add minimum/maximum age limitations +./application/hub/main/wrapper/node/class_NodeDistributedHashTableDatabaseWrapper.php:540: * @todo Add timestamp to dataset instance ./application/hub/main/wrapper/states/class_PeerStateLookupDatabaseWrapper.php:174: * @todo Unfinished area ./application/hub/main/wrapper/states/class_PeerStateLookupDatabaseWrapper.php:216: * @todo Unfinished area ./core/inc/classes/exceptions/main/class_MissingMethodException.php:13: * @todo Try to rewrite user/guest login classes and mark this exception as deprecated @@ -240,11 +262,11 @@ ./core/inc/classes/interfaces/class_FrameworkInterface.php:11: * @todo Find a better name for this interface ./core/inc/classes/interfaces/criteria/extended/class_LocalSearchCriteria.php:30: * @todo Find a nice casting here. (int) allows until and including 32766. ./core/inc/classes/interfaces/criteria/extended/class_LocalSearchCriteria.php:54: * @todo Find a nice casting here. (int) allows until and including 32766. -./core/inc/classes/main/class_BaseFrameworkSystem.php:1778: * @todo Write a logging mechanism for productive mode -./core/inc/classes/main/class_BaseFrameworkSystem.php:1793: // @TODO Finish this part! -./core/inc/classes/main/class_BaseFrameworkSystem.php:205: // @todo Try to clean these constants up -./core/inc/classes/main/class_BaseFrameworkSystem.php:430: // @TODO __CLASS__ does always return BaseFrameworkSystem but not the extending (=child) class -./core/inc/classes/main/class_BaseFrameworkSystem.php:504: * @todo SearchableResult and UpdateableResult shall have a super interface to use here +./core/inc/classes/main/class_BaseFrameworkSystem.php:1927: * @todo Write a logging mechanism for productive mode +./core/inc/classes/main/class_BaseFrameworkSystem.php:1942: // @TODO Finish this part! +./core/inc/classes/main/class_BaseFrameworkSystem.php:240: // @todo Try to clean these constants up +./core/inc/classes/main/class_BaseFrameworkSystem.php:465: // @TODO __CLASS__ does always return BaseFrameworkSystem but not the extending (=child) class +./core/inc/classes/main/class_BaseFrameworkSystem.php:539: * @todo SearchableResult and UpdateableResult shall have a super interface to use here ./core/inc/classes/main/commands/web/class_WebLoginAreaCommand.php:64: * @todo Add some stuff here: Some personal data, app/game related data ./core/inc/classes/main/commands/web/class_WebProblemCommand.php:58: * @todo 0% done ./core/inc/classes/main/commands/web/class_WebStatusCommand.php:58: * @todo 0% done @@ -266,9 +288,15 @@ ./core/inc/classes/main/criteria/search/class_SearchCriteria.php:102: * @todo Find a nice casting here. (int) allows until and including 32766. ./core/inc/classes/main/criteria/search/class_SearchCriteria.php:70: * @todo Find a nice casting here. (int) allows until and including 32766. ./core/inc/classes/main/database/databases/class_LocalFileDatabase.php:327: * @todo Do some checks on the database directory and files here -./core/inc/classes/main/database/databases/class_LocalFileDatabase.php:605: * @todo Add more generic non-public data for removal +./core/inc/classes/main/database/databases/class_LocalFileDatabase.php:616: * @todo Add more generic non-public data for removal ./core/inc/classes/main/decorator/template/class_XmlRewriterTemplateDecorator.php:427: * @todo Find something useful with this! ./core/inc/classes/main/discovery/payment/class_LocalPaymentDiscovery.php:85: * @todo 0% done +./core/inc/classes/main/file_directories/class_BaseFileIo.php:162: * @todo Handle seekStatus +./core/inc/classes/main/file_directories/class_BaseFile.php:135: * @todo ~10% done? +./core/inc/classes/main/file_directories/class_BaseFile.php:148: * @todo Handle seekStatus +./core/inc/classes/main/file_directories/directory/class_FrameworkDirectoryPointer.php:68: * @todo Get rid of inConstructor, could be old-lost code. +./core/inc/classes/main/file_directories/io_stream/class_FileIoStream.php:270: * @todo 0% done +./core/inc/classes/main/file_directories/io_stream/class_FileIoStream.php:74: * @todo This method needs heavy rewrite ./core/inc/classes/main/filter/change/class_EmailChangeFilter.php:55: * @todo Implement email change of the user here. HINT: Use the User class! ./core/inc/classes/main/filter/change/class_PasswordChangeFilter.php:55: * @todo Finished updating user password hash here. HINT: Use the User class again. ./core/inc/classes/main/filter/news/class_NewsProcessFilter.php:55: * @todo Unfinished stub, add functionality here @@ -292,7 +320,7 @@ ./core/inc/classes/main/images/class_BaseImage.php:234: * @todo Find something usefull for this method. ./core/inc/classes/main/images/class_BaseImage.php:245: * @todo Find something usefull for this method. ./core/inc/classes/main/images/class_BaseImage.php:255: * @todo Find something usefull for this method. -./core/inc/classes/main/io/class_FileIoStream.php:74: * @todo This method needs heavy rewrite +./core/inc/classes/main/index/class_BaseIndex.php:135: * @todo Currently the index file is not cached, please implement a memory-handling class and if enough RAM is found, cache the whole index file. ./core/inc/classes/main/mailer/class_BaseMailer.php:55: // @TODO This needs testing/fixes because the deprecated method ./core/inc/classes/main/mailer/debug/class_DebugMailer.php:124: * @todo 0% done ./core/inc/classes/main/menu/class_BaseMenu.php:59: // @TODO Should we log it here? We should, because it will be silently ignored. @@ -309,10 +337,13 @@ ./core/inc/classes/main/response/image/class_ImageResponse.php:89: * @todo Why are these parameters conflicting? ./core/inc/classes/main/response/image/class_ImageResponse.php:90: * @todo If the return statement is removed and setcookie() commented out, ./core/inc/classes/main/response/image/class_ImageResponse.php:91: * @todo this will send only one cookie out, the first one. -./core/inc/classes/main/result/class_DatabaseResult.php:239: * @todo 0% done -./core/inc/classes/main/result/class_DatabaseResult.php:393: * @todo Find a caching way without modifying the result array +./core/inc/classes/main/result/class_DatabaseResult.php:244: * @todo 0% done +./core/inc/classes/main/result/class_DatabaseResult.php:398: * @todo Find a caching way without modifying the result array ./core/inc/classes/main/rng/class_RandomNumberGenerator.php:175: * @todo I had a better random number generator here but now it is somewhere lost :( ./core/inc/classes/main/rng/class_RandomNumberGenerator.php:97: * @todo Add site key for stronger salt! +./core/inc/classes/main/stacker/file/class_BaseFileStack.php:147: * @todo Currently the stack file is not cached, please implement a memory-handling class and if enough RAM is found, cache the whole stack file. +./core/inc/classes/main/stacker/file/class_BaseFileStack.php:309: // @TODO Please implement this, returning FALSE +./core/inc/classes/main/stacker/file/class_BaseFileStack.php:45: * @todo To hard assertions here, better rewrite them to exceptions ./core/inc/classes/main/template/class_BaseTemplateEngine.php:1070: // @TODO This silent abort should be logged, maybe. ./core/inc/classes/main/template/class_BaseTemplateEngine.php:1078: // @TODO Old behaviour, will become obsolete! ./core/inc/classes/main/template/class_BaseTemplateEngine.php:1081: // @TODO Yet another old way @@ -331,8 +362,9 @@ ./core/inc/classes/main/user/class_BaseUser.php:308: * @todo Try to make this method more generic so we can move it in BaseFrameworkSystem ./core/inc/classes/main/user/class_BaseUser.php:80: * @todo Find a way of casting here. "(int)" might destroy the user id > 32766 ./core/inc/classes/main/user/member/class_Member.php:84: * @todo Add more ways over creating user classes -./core/inc/classes/middleware/compressor/class_CompressorChannel.php:100: // @TODO Is there a configurable fall-back compressor needed, or is NullCompressor okay? +./core/inc/classes/middleware/compressor/class_CompressorChannel.php:103: // @TODO Is there a configurable fall-back compressor needed, or is NullCompressor okay? ./core/inc/classes/middleware/debug/class_DebugMiddleware.php:113: // @TODO Initialization phase +./core/inc/classes/middleware/io/class_FileIoHandler.php:174: * @todo 0% done ./core/inc/classes.php:10: * @todo Minimize these includes ./core/inc/classes/third_party/api/wernisportal/class_WernisApi.php:10: * @todo Out-dated since 0.6-BETA ./core/inc/config/class_FrameworkConfiguration.php:115: * @todo This method encapsulates a deprecated PHP function and should be deprecated, too. @@ -342,12 +374,12 @@ ./core/inc/includes.php:11: * @todo Minimize these includes ./core/inc/includes.php:37:// @TODO This makes the core depending on the SPL. But it should be installed anyway. ./core/inc/includes.php:41:// @TODO Find a nicer OOP-ed way for this -./core/inc/loader/class_ClassLoader.php:273: /* @todo: Do not die here. */ +./core/inc/loader/class_ClassLoader.php:319: /* @TODO: Do not exit here. */ ./core/inc/output.php:11: * @todo Minimize these includes ./core/inc/selector.php:11: * @todo Minimize these includes ./index.php:43: * @todo This method is old code and needs heavy rewrite and should be moved to ApplicationHelper ### ### DEPRECATION FOLLOWS: ### ### -./application/hub/main/nodes/class_BaseHubNode.php:56: * @deprecated +./application/hub/main/nodes/class_BaseHubNode.php:46: * @deprecated ./core/inc/classes/exceptions/main/class_MissingMethodException.php:14: * @deprecated Please do no longer use this exception ./core/inc/classes/interfaces/database/backend/class_DatabaseFrontendInterface.php:2:// @DEPRECATED ./core/inc/classes/interfaces/database/frontend/class_DatabaseFrontendInterface.php:2:// @DEPRECATED -- 2.39.5