PHPackages                             agendum/agendum-vtiger-adapter - 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. [API Development](/categories/api)
4. /
5. agendum/agendum-vtiger-adapter

ActiveLibrary[API Development](/categories/api)

agendum/agendum-vtiger-adapter
==============================

An adapter to integrate Agendum with Vtiger CRM modules

v0.1.8(2mo ago)133MITPHPPHP ^8.0

Since Nov 16Pushed 2mo agoCompare

[ Source](https://github.com/Agendum360/agendum-vtiger-adapter)[ Packagist](https://packagist.org/packages/agendum/agendum-vtiger-adapter)[ RSS](/packages/agendum-agendum-vtiger-adapter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (10)Used By (0)

Agendum Vtiger Adapter
======================

[](#agendum-vtiger-adapter)

A PHP library that provides backward compatibility for Vtiger modules running on Agendum CRM platform.

Overview
--------

[](#overview)

This adapter library enables legacy Vtiger modules to work seamlessly with Agendum CRM by providing class mapping between the old Vtiger naming convention (`Vtiger_*`) and the new Agendum naming convention (`Agendum_*`).

Why Install This Library?
-------------------------

[](#why-install-this-library)

When migrating from Vtiger CRM to Agendum CRM, existing modules may fail to load because they reference classes using the old `Vtiger_*` naming convention. Agendum CRM has modernized these class names to use the `Agendum_*` prefix.

This library solves this compatibility issue by:

- Creating empty wrapper classes that extend their Agendum equivalents
- Maintaining the original `Vtiger_*` class names for backward compatibility
- Allowing legacy modules to run without modification on Agendum instances

Supported Classes
-----------------

[](#supported-classes)

The library provides compatibility mappings for the following core classes:

- `Vtiger_Session` → `Agendum_Session`
- `Vtiger_WebUI` → `Agendum_WebUI`
- `Vtiger_Response` → `Agendum_Response`
- `Vtiger_Loader` → `Agendum_Loader`
- `Vtiger_Request` → `Agendum_Request`
- `Vtiger_Base_Model` → `Agendum_Base_Model`
- `Vtiger_Viewer` → `Agendum_Viewer`
- `Vtiger_Language_Handler` → `Agendum_Language_Handler`
- `Vtiger_Theme` → `Agendum_Theme`
- `Vtiger_Cache` → `Agendum_Cache`
- `Vtiger_EntryPoint` → `Agendum_EntryPoint`
- `Vtiger_Cache_Connector` → `Agendum_Cache_Connector`
- `Vtiger_Cache_Connector_Memory` → `Agendum_Cache_Connector_Memory`
- `Vtiger_JavaScript` → `Agendum_JavaScript`
- `Vtiger_Controller` → `Agendum_Controller`
- `Vtiger_Action_Controller` → `Agendum_Action_Controller`
- `Vtiger_View_Controller` → `Agendum_View_Controller`

Installation
------------

[](#installation)

Install via Composer:

```
composer require agendum/vtiger-adapter
```

### Production Setup

[](#production-setup)

For production use, add the following to your `composer.json` autoload section:

```
{
  "autoload": {
    "files": [
      "vendor/agendum/vtiger-adapter/src/autoload.php"
    ]
  }
}
```

Then regenerate the autoloader:

```
composer dump-autoload
```

Usage
-----

[](#usage)

Once installed, the adapter classes are automatically available. Legacy Vtiger modules will be able to find and use the `Vtiger_*` classes, which seamlessly extend their modern `Agendum_*` counterparts.

No code changes are required in your existing modules - they will continue to work as expected.

Testing Environment
-------------------

[](#testing-environment)

For testing purposes, this library includes **conditional mock classes** that are only activated when:

1. The environment variable `VTIGER_ADAPTER_TESTING` is set to `'true'`
2. The library is running in its own development environment (not as a third-party dependency)
3. The required Agendum classes don't already exist

### Important Security Note

[](#important-security-note)

⚠️ **The mock classes are ONLY activated in this specific project's testing environment.** They will never interfere with third-party projects that install this library as a dependency. The mocks are conditionally loaded based on:

- Detection of the specific project directory name
- Explicit testing environment variable (`VTIGER_ADAPTER_TESTING=true`)
- Verification that parent classes don't exist

This ensures that when deployed in production Agendum environments or installed as a dependency, only the real adapter functionality is active.

Development
-----------

[](#development)

To run tests locally:

```
# Install dependencies
composer install

# Run tests with environment variable
VTIGER_ADAPTER_TESTING=true ./vendor/bin/pest

# Or export it for your session
export VTIGER_ADAPTER_TESTING=true
./vendor/bin/pest
```

License
-------

[](#license)

To be defined. Final license terms will clarify compatibility with the Vtiger CRM Public License 1.1 for derivative portions of the work.

###  Health Score

37

—

LowBetter than 82% of packages

Maintenance90

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 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 ~12 days

Recently: every ~23 days

Total

9

Last Release

78d ago

### Community

Maintainers

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

---

Top Contributors

[![francescobianco](https://avatars.githubusercontent.com/u/472171?v=4)](https://github.com/francescobianco "francescobianco (19 commits)")

###  Code Quality

TestsPest

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/agendum-agendum-vtiger-adapter/health.svg)

```
[![Health](https://phpackages.com/badges/agendum-agendum-vtiger-adapter/health.svg)](https://phpackages.com/packages/agendum-agendum-vtiger-adapter)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M475](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M270](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M186](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M33](/packages/facebook-php-business-sdk)[microsoft/microsoft-graph

The Microsoft Graph SDK for PHP

65723.5M95](/packages/microsoft-microsoft-graph)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)

PHPackages © 2026

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