This is a TYPO3 Extension for converting a normal URL to a tiny URL.
It works similar as services provided by https://bitly.com/ or https://tinyurl.com/.
Have a look in the Documentation
folder for more information or
browse to these URLs:
TYPO3 extension that allows you to cut down long URLs. It basically works like bitly or TinyURL.
Home Page: http://typo3.org/extensions/repository/view/tinyurls
This is a TYPO3 Extension for converting a normal URL to a tiny URL.
It works similar as services provided by https://bitly.com/ or https://tinyurl.com/.
Have a look in the Documentation
folder for more information or
browse to these URLs:
Since there is no guarantee the the base62Dictionary has a length of 62 (if configured otherwise) that method should be changed from
protected function convertIntToBase62(int $base10Integer, string $base62Dictionary): string
{
$base62Integer = '';
$base = 62;
do {
$base62Integer = $base62Dictionary[$base10Integer % $base] . $base62Integer;
$base10Integer = floor($base10Integer / $base);
} while ($base10Integer > 0);
return $base62Integer;
}
to:
protected function convertIntToBase62(int $base10Integer, string $base62Dictionary): string
{
$base62Integer = '';
// Use length of $base62Dictionary as base - stuff is a bit misleading if $base62Dictionary
// doesn't contain 62 letters
$base = strlen($base62Dictionary);
do {
$base62Integer = $base62Dictionary[($base10Integer % $base)] . $base62Integer;
$base10Integer = floor($base10Integer / $base);
} while ($base10Integer > 0);
return $base62Integer;
}
Or else the following error can be found in error logs
PHP Warning: Uninitialized string offset 61 in web/typo3conf/ext/tinyurls/Classes/UrlKeyGenerator/Base62UrlKeyGenerator.php line 98
Hello
First of all, thanks for your extension. It helps sharing pages on twitter!
Do you plan to make it compatible with TYPO3 10?
Enabling : Create speaking URLs [basic.createSpeakingURLs]
crashes on TYPO3 CMS 6.2.x
Reason: makeInstance(MarkerBasedTemplateService::class)
fails in 6.2.x
We have to either change dependency from 6.2.3 to 7.5
or change line 157 in typo3conf/ext/tinyurls/Classes/Utils/UrlUtils.php
from return GeneralUtility::makeInstance(MarkerBasedTemplateService::class);
to return GeneralUtility::makeInstance(HtmlParser::class);
Support for arguments on the render() method of ViewHelpers has been deprecated.
They should be registered with initializeArguments.
Also, the base class is deprecated, so the ViewHelper now needs to extend directly TYPO3Fluid base class, and to use renderStatic method.
The latest tag is 1.0.0 but the emconf has been bumped to 1.0.1.
Please tag with 1.0.1
Are there any plans to make this extension TYPO3 11 compatible?
At the moment the URL shortener only supports one domain.
TODO: Check if support for multiple domains makes sense and how it can be implemented.
When use the list module in TYPO3 10.4. using v10.0.0, you get the following error
Too few arguments to function Tx\Tinyurls\Hooks\DatabaseRecordList::__construct(), 0 passed in /web/typo3/sysext/core/Classes/Utility/GeneralUtility.php on line 3443 and exactly 1 expected
Now the rest of the extension works just fine.
To avoid possible conflict with other extensions, please change vendor name to something different than "Tx".
When adding "urldisplay" with "set Field" in list-view-mode, the backend strumbles and there no way to deselect it.
I added a dummyfield to the database to fix that.
It would be nice to extend the extension to support TYPO3 v > 9.4 :)
To use the tinyurl an editor has to copy the wished long url into the new tinyurl form.
On saving this long url he then can read the new tinyurl.
The ditor then has to remember the speakingurl he has to use and type this in where he wants to use it.
It would saving 90% of all this work if below the URL key in the BE form would appear the speakingurl
according to the active ###TYPO3_SITE_URL###goto/###TINY_URL_KEY### template.
So above the Target URL field there could be a field like this:
Use TinyURL (copy and paste)
http://mydomain.tld/goto/b-xyz4712
There is a field tstamp in the tx_tinyurls_urls table, which is always 0.
Please add timestamp in insert statement.
Without being able to copy the URL key from the BE form the extensions is completely useless.
Do you expect any editor to retype this key ten times a day?
'autoload' => array(
'psr-4' => [
'Tx\\Tinyurls\\' => 'Classes',
],
),
Change vendor name "Tx" to something better (see #15 )
The createSpeakingURLs functionality of the 1.0.1 version that is on packagist.org doesn't work.
if ($this->configUtils->getExtensionConfigurationValue('createSpeakingURLs')) {
$tinyUrl = $this->urlUtils->generateTinyurlHash($tinyUrlKey);
} else {
Should probably have been
if ($this->configUtils->getExtensionConfigurationValue('createSpeakingURLs')) {
$tinyUrl = $this->urlUtils->createSpeakingTinyUrl($tinyUrlKey);
} else {
Could you make a 1.0.2 with a fix thanks.
For the Field valid_until the following two TCA deprecations exists:
The TCA setting 'renderType' => 'inputDateTime' was added in TCA tx_tinyurls_urls['columns']['valid_until']['config']
The config option 'max' has been removed from the TCA for renderType='inputDateTime' in tx_tinyurls_urls['columns']['valid_until']['config']['max']
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.