PHPackages                             cylancer/cy\_lending - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. cylancer/cy\_lending

ActiveTypo3-cms-extension

cylancer/cy\_lending
====================

A simple TYPO3 extension for lending of objects.

5.4.0(1mo ago)14GPL-2.0-or-laterPHP

Since Sep 11Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/docmcfly/cyLending)[ Packagist](https://packagist.org/packages/cylancer/cy_lending)[ Docs](https://github.com/docmcfly/cyLending)[ RSS](/packages/cylancer-cy-lending/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (32)Used By (0)

TYPO3 extension :: cyLending
============================

[](#typo3-extension--cylending)

A simple TYPO3 extension for lending of objects.

With this extension you can organize the lending of objects. Front-end users can submit a loan request for one or more objects for a certain period of time. This request can go through a simple approval process or can also be approved automatically. A calendar shows which objects are already on loan and for which there are requests. A warning is issued for loans that overlap in time. External appointment sources can also be integrated using a hook.

Change log
----------

[](#change-log)

- 5.4.0 :: UPD : Release the bootsrap version 16.
- 5.3.3 :: UPD : Update of the calendar library.
- 5.3.2 :: UPD : Update of the calendar library.
- 5.3.1 :: UPD : Rename "common" to "settings".
- 5.3.0 :: UPD : You can set the 'date has an appointment' color and choose whether to display the appointment count.
- 5.2.2 :: UPD : The reservation submit button changes the text in the case of automatic reservation objects.
- 5.2.1 :: UPD : Update of the calendar library.
- 5.2.0 :: UPD : Remove the oldschool page type handling for ajax connect.
- 5.1.2 :: FIX : Update calendar.js
- 5.1.1 :: FIX : Add missing defaults.
- 5.1.0 :: UPD : You can set how many months you can scroll forward or backward.
- 5.0.3 :: FIX : Display the missing "other" lendings.
- 5.0.2 :: FIX : Removes unused constants.
- 5.0.1 :: FIX : Removes unused constants.
- 5.0.0 :: UPD : Change the all interactions to an ajax communication.
- 4.1.2 :: FIX : Fix the permant disbaled high priority flag.
- 4.1.1 :: UPD : Update (cleaning) TCA configuration
- 4.1.0 :: UPD : UI form: The max quantities are updated, if the object, from or until field is changed (AJAX)
- 4.0.0 :: UPD : Update to TYPO3 13 and Bootstrap 15.
- 3.3.0 :: ADD : After the lean request, you have an button for a new lean request
- 3.2.3 :: ADD : Add hyphens in the calendar detail view.
- 3.2.2 :: Fix : Lendings and availability request with a start date in the past are no longer displayed under “My lendings or “My availability requests”.
- 3.2.1 :: Fix : Replace "appointment symbole" with "appointment symbol".
- 3.2.0 :: ADD : You can set an individual appointment symbol.
- 3.1.0 :: ADD : You can cancel your availability request.
- 3.0.1 :: FIX : Calculation of all lending observer receiver is fixed.
- 3.0.0 :: UPD : Update to TYPO3 12 and Bootstrap 5.
- 2.1.1 :: FIX : Fix the separation between the group with high priority rights and the approver group.
- 2.1.0 :: UPD : Separate the configuration for high priority lendings authorization per object.
- 2.0.2 :: FIX : Small fix automatic approve function and max quantity setting of the group elements.
- 2.0.1 :: FIX : The automatic approve function works now.
- 1.4.0 :: UPD : Add sub lendings.
- 1.3.1 :: CHG : Add small border bottom to an event in the calendar.
- 1.3.0 :: UPD : Add ignore time overlapping function
- 1.2.9 :: CHG : The fix reduces unused detail times.
- 1.2.8 :: CHG : Detail show displays the times better.
- 1.2.7 :: UPD : High priority is persistent now.
- 1.2.6 :: FIX : Fix the time rendering in the calendar.
- 1.2.5 :: UPD : Approvers can create lendings with high priority. (Overrides exists lendings.)
- 1.2.4 :: FIX : Prevent two double requests (UI).
- 1.2.3 :: FIX : Better handling with deleted requests.
- 1.2.2 :: FIX : Prevent two different permits.
- 1.2.1 :: ADD : Make the configuration parser stable.
- 1.2.0 :: ADD : Add an reasons for prevention request API.
- 1.1.7 :: UPD : Release the flexform select tree level.
- 1.1.6 :: CHG : Change the storage uids strategy.
- 1.1.5 :: FIX : The approver tab displays data.
- 1.1.4 :: FIX : Not approved lendings are displayed stripped.
- 1.1.3 :: ADD : Add licence entry in the composer file.
- 1.1.2 :: FIX : Remove debug outputs.
- 1.1.1 :: FIX : Repaire the date format.
- 1.1.0 :: ADD : Add ajax connect for dynamic reloading of the events (lendings).
- 1.0.0 :: FIX : Fix the plugin registration/configuration.
- 0.9.8 :: FIX : Remove debug output
- 0.9.7 :: ADD : Make TypoScript available (always load)
- 0.9.6 :: FIX : Automatic approve
- 0.9.5 :: FIX : Object descriptions (translations)
- 0.9.4 :: ADD : Adds a limit of the next and the previous month button.
- 0.9.3 :: Initial beta version

Documentation
-------------

[](#documentation)

With this extension you can organize lending objects to others.

### Features

[](#features)

- Calendar showing borrowed items and items with pending loan requests
- Items can be borrowed automatically or require an approval process
- You always have an overview of your loans and loan requests
- Approvers and other people can be notified about the loan process via email

### For editors

[](#for-editors)

Here is a simple example of how to set up a rental.

Our items are five mountain bikes.

1. Create a directory structure (optional / recommended)

This pages/folders structure has proven helpful:

[![Hilfreiche Seitenstruktur.](./Documentation/images/be/folderStructure.png "Hilfreiche Seitenstruktur.")](./Documentation/images/be/folderStructure.png)

1. Create the rental items (in the "Objects" folder):: [![Create the lendgin object: five blue mountenbikes](./Documentation/images/be/createLengingObject.png "Create the lendgin object: five blue mountenbikes")](./Documentation/images/be/createLengingObject.png)

Notes:

- **Group name:**
    If you specify a group name, your item will be assigned to that group later in the form.
- **Lending object**
    This is the identifier of the loan item.
- **The approver group**
    If an FE group is specified here, all members of that group will be notified that a loan request for this item has been made. The group members can approve the loan. If no group is specified, the loan is automatically approved.
- **The observer group**
    If an FE group is specified here, all members of that group will be notified when a loan for this item is approved or rejected.
- **Can land with high priority**
    If yes, these items can be borrowed with high priority. All existing loans during that period will be downgraded on request and the affected people will be notified by email.
- **Total amount**
     If there are multiple items available for loan, you can specify that number here. When the quantity is 1, the item may be overbooked after confirming a warning (for example, if two events and two loans share a single item).
- **Lending object color**
    The question entered here will be used in the calendar.

2. Create the lending service (FE plugin on the "Lending" page)

2.1. First step [![Step one: Choice Lending ](./Documentation/images/be/createFePlugin.png "Step one: Choice Lending ")](./Documentation/images/be/createFePlugin.png)

2.2 Second step: Configure [![Step two: Configuration ](./Documentation/images/be/configurationFePluginCommon.png "Step two: Configuration")](./Documentation/images/be/configurationFePluginCommon.png)

Notes on **Common**:

- **Purposes**
    You can provide loan reasons here to make input easier.
- **Usual lending term (hours / minutes)**
    Hier kann die übliche Ausleihzeit angeben werden. Hilft bei der Ausleihanfrage.
- **Appointment symoble**
    In the calendar, days with loans are marked with an icon. You can set the icon here.

Notes on **Storage locations**:

Here you can/should specify different storage locations:

- Where are the FE users and FE groups stored?
- Where are the loan items stored?
- Where should the loans and bookings be saved?
- Where are alternative bookings also stored?

Note on **Prevention reasons**:

Here another extension can provide reasons that argue against a loan. For this, the extension must implement a method (API):

```
public static function reasonsForPreventionAction(array $storageUids, \DateTime $from, \DateTime $until, string $visibility = 'ALL'): array
```

***Example***In this example the service of the extension [`Cylancer\Participants`](https://github.com/docmcfly/participants) is queried. The request contains the selected Page UIDs and the time period.

### For user

[](#for-user)

#### Calender overview

[](#calender-overview)

In the calendar view, all loans and loan requests are displayed. Clicking on a day opens a detail view that shows every loan on the selected date.

When you navigate from month to month, the data are fetched from the server at that point, which can cause slight delays.

Note: On especially busy calendars it may appear that a day is empty—even though it isn’t. Any day that has a symbol next to the date number has either a loan or a loan request.

Technical note: The[calendar](https://github.com/docmcfly/boostrap5EventCalendar) is also available separately as a JavaScript library on GitHub.

[![Calender overview](./Documentation/images/fe/calendar.png)](./Documentation/images/fe/calendar.png)

#### Lending form

[](#lending-form)

The leanding form allows the user to submit a loan request.

[![Lending form](./Documentation/images/fe/lendingForm.png)](./Documentation/images/fe/lendingForm.png)

#### Overview of loan requests

[](#overview-of-loan-requests)

In this overview the user sees which loan requests they have already submitted.

[![Overview of loan requests](./Documentation/images/fe/overviewLoanRequests.png)](./Documentation/images/fe/overviewLoanRequests.png)

#### Overview of approved loans

[](#overview-of-approved-loans)

This overview lists all approved loan requests.

[![Overview of approved loans](./Documentation/images/fe/overviewApprovedLoans.png)](./Documentation/images/fe/overviewApprovedLoans.png)

#### Overview of approval requests

[](#overview-of-approval-requests)

If you have permission to loan an item, you can use this list to view, approve, or reject all requests.

[![Overview of approval requests](./Documentation/images/fe/overviewApprovalRequests.png)](./Documentation/images/fe/overviewApprovalRequests.png)

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance90

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Recently: every ~16 days

Total

29

Last Release

50d ago

Major Versions

1.4.0 → 2.0.22023-12-17

2.1.0 → 3.0.02024-05-21

3.2.3 → 4.1.12025-06-08

4.1.2 → 5.0.02025-10-11

### Community

Maintainers

![](https://www.gravatar.com/avatar/e80d990786107e860444861a172251e6e67ac84d1c9717179755018a912df534?d=identicon)[docmcfly](/maintainers/docmcfly)

---

Top Contributors

[![docmcfly](https://avatars.githubusercontent.com/u/7195547?v=4)](https://github.com/docmcfly "docmcfly (38 commits)")

### Embed Badge

![Health badge](/badges/cylancer-cy-lending/health.svg)

```
[![Health](https://phpackages.com/badges/cylancer-cy-lending/health.svg)](https://phpackages.com/packages/cylancer-cy-lending)
```

###  Alternatives

[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

63991.3k4](/packages/netresearch-rte-ckeditor-image)[christophlehmann/imageoptimizer

Optimize uploaded/processed images with binaries of your choice

46501.8k](/packages/christophlehmann-imageoptimizer)[b13/assetcollector

Add CSS and SVG files and strings as inline style tag/inline svg to the html code.

10118.4k](/packages/b13-assetcollector)[causal/fal-protect

Protect everything within /fileadmin/ based on associated folder and file restrictions (visibility, user groups and dates of publication).

1269.5k](/packages/causal-fal-protect)[mautic/mautic-typo3

Add-on TYPO3 extension that enhances the "EXT:marketing\_automation" TYPO3 extension by connecting it to the Mautic Marketing Automation platform: Determine "Persona" from Mautic segments. Also provides additional services e.g. language synchronisation between Mautic and TYPO3.

236.3k](/packages/mautic-mautic-typo3)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
