1. 02 Aug, 2016 1 commit
  2. 07 Jun, 2016 1 commit
  3. 19 Apr, 2016 1 commit
  4. 30 Oct, 2015 1 commit
  5. 08 Oct, 2015 1 commit
  6. 13 Aug, 2015 1 commit
  7. 05 Aug, 2015 1 commit
  8. 03 Jul, 2015 1 commit
  9. 16 Dec, 2014 1 commit
  10. 13 Dec, 2014 1 commit
  11. 06 Dec, 2014 1 commit
  12. 20 Nov, 2014 1 commit
  13. 13 Nov, 2014 1 commit
  14. 02 Nov, 2014 1 commit
  15. 28 Oct, 2014 1 commit
  16. 27 Oct, 2014 1 commit
  17. 25 Oct, 2014 1 commit
  18. 18 Sep, 2014 1 commit
  19. 16 Sep, 2014 1 commit
  20. 09 Sep, 2014 1 commit
  21. 13 Aug, 2014 1 commit
  22. 29 Jun, 2014 1 commit
  23. 22 Jun, 2014 1 commit
    • Michael Schams's avatar
      [TASK] Re-work/simplify copyright header in PHP files - Part 8 · bde6364c
      Michael Schams authored
      This patch replaces the copyright/license header in PHP files with a
      new, simplified one. The new header does not show the year figure, nor
      an author name, and refers to the LICENSE.txt file for the full
      copyright information. License is: GPL2 or any later version.
      
      This is a multi-part commit due to the huge number of changed files.
      See issue #59784 for further details.
      
      Resolves: #59784
      Releases: 6.3, 6.2
      Change-Id: I1eacf9bf4537776e850d091d9d50bc72f8c2b20d
      Reviewed-on: https://review.typo3.org/31029
      Reviewed-by: Krzysztof Adamczyk
      Tested-by: Krzysztof Adamczyk
      Reviewed-by: Markus Klein
      Tested-by: Markus Klein
      bde6364c
  24. 12 May, 2014 1 commit
    • Markus Klein's avatar
      [SECURITY] Extbase must not cache dynamic parts of queries · 65603ab6
      Markus Klein authored and Georg Ringer's avatar Georg Ringer committed
      Do not cache the enable fields part of queries. This part
      needs to be added on each query dynamically to reflect the
      current context. (Time restrictions, User restrictions)
      
      Resolves: #58369
      Releases: 6.2
      Change-Id: I492d5983ff6a06d72cd18cf9a08a0d62d304ac2b
      Reviewed-on: https://review.typo3.org/29932
      Reviewed-by: Wouter Wolters
      Tested-by: Wouter Wolters
      Reviewed-by: Marcin Sągol
      Reviewed-by: Jan Kiesewetter
      Tested-by: Jan Kiesewetter
      Reviewed-by: Georg Ringer
      Tested-by: Georg Ringer
      65603ab6
  25. 25 Mar, 2014 2 commits
    • Marc Bastian Heinrichs's avatar
      [TASK] Add first level cache for the query cache · 239e01d1
      Marc Bastian Heinrichs authored
      The Extbase query cache stresses the database by querying
      the same cache identifier over and over again. This for example
      doubles the amount of fired database queries for fetching related
      objects at the moment.
      
      Introduce a first level cache saving the cache entries during
      runtime.
      
      Resolves: #57275
      Releases: 6.2
      Change-Id: I964db7c9ab8b61a3d8ac6534a35dc65240398aa7
      Reviewed-on: https://review.typo3.org/28744
      Reviewed-by: Markus Klein
      Tested-by: Markus Klein
      Reviewed-by: Philipp Gampe
      Reviewed-by: Helmut Hummel
      Tested-by: Helmut Hummel
      239e01d1
    • Markus Klein's avatar
      [CLEANUP] Extbase persistence classes · e636910f
      Markus Klein authored
      The classes contain wrong type hints and miss a lot of
      checks whether the correct object is present.
      
      Resolves: #57031
      Releases: 6.2
      Change-Id: I3d03c838b05529daf0da444119dd7f8dba6d5b8a
      Reviewed-on: https://review.typo3.org/28489
      Reviewed-by: Felix Oertel
      Tested-by: Felix Oertel
      Reviewed-by: Markus Klein
      Tested-by: Markus Klein
      e636910f
  26. 24 Mar, 2014 1 commit
  27. 17 Mar, 2014 2 commits
    • Felix Oertel's avatar
      [TASK] Use queryCache in generic persistence · 2583fd2a
      Felix Oertel authored and Wouter Wolters's avatar Wouter Wolters committed
      At the moment extbase persistence is quite slow. To some degree,
      the query building is responsible for that. For each and every
      query the parseQuery() and buildQuery() methods are called.
      
      This patch introduces a query cache to store the query structure.
      This way a query can be reused, even when fired with different
      parameters.
      
      * Introduce a parameterIdentifier to the comparison
      	In the way the extbase query object model works, it's hard to
      	identify an object in a way which is unique and still compre-
      	hensible. To ease this, an identifier is introduced.
      
      * Move parsing to an external QueryParser
      	All the query parsing is now seperated from the storageBackend.
      	The query parsing is mostly left the way it was, it should be
      	re-profiled later.
      
      * introduce cache extbase_typo3dbbackend_queries
      
      * No more statement handling by reference
      	Make getStatementParts() return the query and parameters in an
      	array instead of handing down the parameters by reference.
      
      * Split up parseQuery in preparsing and real parsing with caching
      	In every call the query has to be preparsed to determine the
      	identifier and extract the parameters. The identifier can then
      	be used to look up the query structure in the cache. If it is
      	not (yet) cached, Extbase will do the real parsing which takes
      	some more time.
      
      * Introduce useQueryCache to querySettings
      	Like preparedStatements, caching the queries does not always
      	make sense and will spam your cache under certain conditions.
      	It's enabled by default and can be disabled on a per-query-
      	basis.
      
      * Use named parameter's placeholders
      	Instead of using "?" as parameter's placeholder and relying
      	on the right order of parameters in the array, named place-
      	holders are used to ensure the correct association.
      
      * Move unit tests around to fit the new queryParser
      
      Resolves: #55167
      Releases: 6.2
      Change-Id: I517c0500cad75cae96fd739f2ff7222db80b42a5
      Reviewed-on: https://review.typo3.org/27555
      Reviewed-by: Anja Leichsenring
      Tested-by: Anja Leichsenring
      Tested-by: Philipp Gampe
      Reviewed-by: Wouter Wolters
      Tested-by: Wouter Wolters
      2583fd2a
    • Marc Bastian Heinrichs's avatar
      [TASK] Follow-up: Use prepared statements in generic persistence · 69b05b7f
      Marc Bastian Heinrichs authored and Wouter Wolters's avatar Wouter Wolters committed
      Fixes using $query->statement() without parameters.
      
      Resolves: #56915
      Resolves: #55360
      Releases: 6.2
      Change-Id: Ia149313f5f9f719d7dba0a21a3eb39ea4f5052e8
      Reviewed-on: https://review.typo3.org/28442
      Reviewed-by: Markus Klein
      Reviewed-by: Dennis J
      Tested-by: Dennis J
      Reviewed-by: Wouter Wolters
      Tested-by: Wouter Wolters
      69b05b7f
  28. 13 Mar, 2014 1 commit
    • Stanislas Rolland's avatar
      [BUGFIX] Extbase tries to overlay pages_language_overlay records · acf40af2
      Stanislas Rolland authored and Anja Leichsenring's avatar Anja Leichsenring committed
      Method doLanguageAndWorkspaceOverlay of
      Extbase\Persistence\Generic\Storage\Typo3DbBackend should not attempt
      to get a parent record if the overlays are in a separate table (most
      probably pages_language_overlay) by checking whether
      $GLOBALS['TCA'][$tableName]['ctrl']['transOrigPointerTable'] is set.
      
      Resolves: #56855
      Releases: 6.0, 6.1, 6.2
      Change-Id: I2cb53bc4733ee626ca0ae92e5dd91073d88ecc9d
      Reviewed-on: https://review.typo3.org/28333
      Reviewed-by: Georg Ringer
      Tested-by: Georg Ringer
      Reviewed-by: Marc Bastian Heinrichs
      Reviewed-by: Anja Leichsenring
      Tested-by: Anja Leichsenring
      acf40af2
  29. 12 Mar, 2014 1 commit
    • Felix Oertel's avatar
      [TASK] Use prepared statements in generic persistence · ab2dc4e5
      Felix Oertel authored
      While Typo3DbBackend claims to be the glue between Extbase
      and TYPO3, it hardly uses the TYPO3 DB API.
      
      This patch enhances getObjectData- and getObjectCountByQuery
      - the main methods used when dealing with domain models
      through a repository - to use the TYPO3 DB API. In conjunction
      this enables Extbase to use the preparedStatement introduced
      in TYPO3 4.5.
      
      Because prepared queries might not be desirable in all circum-
      stances, they are disabled by default. They can be enable on
      a per-query-basis via
        $query->getQuerySettings()->setUsePreparedStatement(TRUE);
      
      Prepared statements will *only* be used for SELECT queries.
      
      * consistent use of the TYPO3 DB API
        use exec_SELECTgetRows and exec_SELECTcountRows() even for
        non-prepared queries. This should help a lot along the way
        to support DBAL.
      
      * preparedStatement in custom statements
        When using custom statements, it's now possible to use a pre-
        pared statement in $query->statement(), instead of a query-
        string. The prepared statement has to be initialized already
        though, because Extbase cannot take care of splitting your
        custom query string. The parameters are given as array in the
        second argument as usual.
      
      * deprecated using parameters in non-prepared custom statement
        If a custom query string is used with $query->statement(),
        giving the parameters in the second argument is deprecated.
      
      * get count working
        Counting - especially with limit and offset - has been broken
        for quite some time now. By refactoring the limit and offset
        parameters and adapting exec_SELECTcountRows() this should
        now work again.
      
      The next step is to separate the query parsing from the backend
      and introduce an intelligent query cache. This will work as a
      drop-in-replacement. The @todo-annotations are intended to stay
      there for the next patch.
      
      Resolves: #55360
      Releases: 6.2
      Change-Id: I91a3fd69470df178a8a5465511e50766b50d7f52
      Reviewed-on: https://review.typo3.org/27426
      Reviewed-by: Steffen Ritter
      Tested-by: Steffen Ritter
      Reviewed-by: Marc Bastian Heinrichs
      Reviewed-by: Ernesto Baschny
      Tested-by: Ernesto Baschny
      ab2dc4e5
  30. 23 Feb, 2014 2 commits
  31. 20 Feb, 2014 1 commit
    • Felix Oertel's avatar
      [BUGFIX] Make Typo3DbBackend use DatabaseConnection · 08b2c458
      Felix Oertel authored
      While Typo3DbBackend claims to be Extbase's connection to
      the TYPO3 API, in reality it writes a lot of SQL state-
      ments itself. This replaces self-written statements with
      the according DatabaseConnection API call.
      
      Releases: 6.2
      Resolves: #55571
      Change-Id: Ia4f6ef0aadda16b6c5e89c7b36c8f91b185aac25
      Reviewed-on: https://review.typo3.org/27254
      Reviewed-by: Wouter Wolters
      Tested-by: Wouter Wolters
      Reviewed-by: Tymoteusz Motylewski
      Tested-by: Tymoteusz Motylewski
      Reviewed-by: Mathias Brodala
      Reviewed-by: Stefan Neufeind
      Tested-by: Stefan Neufeind
      08b2c458
  32. 09 Feb, 2014 1 commit
  33. 01 Feb, 2014 1 commit
    • Jo Hasenau's avatar
      [TASK] Use (int) instead of intval() or (integer) · 9646d26b
      Jo Hasenau authored
      This patch replaces most of around 1600 occurrences of
      intval() and every (integer) in the whole core.
      Additionally it changes GeneralUtility::intExplode to use references
      and typecasting as well.
      Some occurrences of strstr() together with intval() have been replaced
      with strpos() as well.
      And some superfluous intval calls have been removed or reduced
      to a single one i.e. for protected variables or before loops.
      Patch updated after Core CGL decision from 30.01.2014
      
      Resolves: #54265
      Releases: 6.2
      Change-Id: Iba57ffad1f4233ffa1a9f7d3ca5bfe9d2b53f1e8
      Reviewed-on: https://review.typo3.org/26740
      Reviewed-by: Stefan Neufeind
      Tested-by: Stefan Neufeind
      9646d26b
  34. 29 Jan, 2014 1 commit
    • Helmut Hummel's avatar
      [BUGFIX] Prevent strings from being autoloaded · b15348a4
      Helmut Hummel authored
      The introduction of a TypeConverter for Enumaration
      types in #52762 added is_subclass() calls to
      getPlainValue() in the DatabaseBackends. These methods
      are meant to convert objects to simply types but are
      regularly called with simple types, in particular strings.
      
      Since is_subclass() also works with strings,
      The class loader is triggered when these methods
      are called with a table name like "tx_ext_domain_model_foo".
      
      This triggers an issue #55418 in the class loader especially
      on case insensitive filesystems.
      
      Instead of is_subclass we now use instanceof to make sure
      we only check for conversion if the value is an object.
      
      Additionally this change fixes a wrong case statement which
      also was introduced in #52762
      
      Resolves: #54275
      Change-Id: If1b2a28a2623e49dfb47720641935c6f24447c19
      Reviewed-on: https://review.typo3.org/27079
      Reviewed-by: Helmut Hummel
      Tested-by: Helmut Hummel
      b15348a4
  35. 14 Jan, 2014 1 commit
  36. 13 Jan, 2014 1 commit
  37. 15 Oct, 2013 1 commit
    • Sascha Egerer's avatar
      [TASK] Add type converter for core types like Enumeration · 28dbbbf9
      Sascha Egerer authored
      * Fixed a major bug in Enumeration in the isValid function
        to prevent PHP typeloose comparison hell and added Tests
      * Added a CoreTypeInterface that can be used in the extbase
        data mapper to map properties to new core types like
        the enumeration
      
      Resolves: #52762
      Releases: 6.2
      Change-Id: I966c64ae8a82d13bdcb47c41917da98c48f0b475
      Reviewed-on: https://review.typo3.org/24708
      Reviewed-by: Marc Bastian Heinrichs
      Tested-by: Marc Bastian Heinrichs
      Reviewed-by: Sascha Egerer
      Reviewed-by: Stefan Neufeind
      Reviewed-by: Thomas Maroschik
      Tested-by: Thomas Maroschik
      28dbbbf9