Small and beautiful URL shortening engine built with fully responsive design and REST-like API.
Anyone and everyone is welcome to contribute.
For correct system work, on your server must be installed:
- PHP >= 5.3
- Apache (with mod_rewrite)
Copy all system files to your server through FTP or from Control Panel of your hosting provider and go to admin panel(http://yoursite.com/admin), log in with this data:
- login: admin
- password: 123
then, go to the page - http://yoursite.com/admin/settings and change settings to yours. System installed! All the rest will do script program, there is nothing else necessary from you.
All template files are stored in /templates/*template_name*/ (default theme named clean).
In the templates is used Smarty-similar marking, that why you will not have to correct any PHP code. Only HTML.
/_layouts/mainLayout.tpl- general page layout, all the rest are exposed in it/_layouts/error.tpl- error page template/_layouts/redirectPage.tpl- template for link redirect page(if enabled in settings)/_layouts/admin.tpl- general layout for admin panel (not recommend to edit)/_static/- here stored all CSS, JS files and also images/index/index.tpl- general(index) page template/links/view.tpl- template for link page (http://tinylink.nazarkin.su/pfy+)/links/my.tpl- layout for user links page/links/link.single.tpl- template for a single link in a user links page/admin/index.tpl- general page of admin panel/admin/settings.tpl- settings page template/admin/login.tpl- template for login page/admin/link.single.tpl- template for single link from a links list
Global variables, works inside each template file:
{TITLE},{KEYWORDS},{DESCRIPTION}- SEO meta tags{THEME}- path to theme folder{SITEURL}- site url with end slash{SITE_DOMAIN}- site domain without any slashes{ACTION},{CONTROLLER}- service variables{container:content}- container for body of page[flashmessage]{flashmessage}[/flashmessage]- block for display system messages
/_layouts/redirectPage.tpl:
[without_password] .. [/without_password]- content of this block will only displayed for links without password protection[with_password] .. [/with_password]- only for links with password protection[wrong_password] .. [/wrong_password]- if entered password is incorrect{full_url}- original URL
/_layouts/error.tpl:
{errorMessage}- system error message
view.tpl and link.single.tpl:
- password blocks as in redirect page template
{link_short}- shorten link{link_url}- full link{link_url_crop}- full link cropped to 70 symbols{link_alias}- short link code{link_visits}- count of link visits{create_date}- link creation date[has_title] {link_page_title} [/has_title]- link page title(from meta tag). Displayed only if available[hasnt_title] .. [/hasnt_title]- iа title is not available[has_description] {link_page_description} [/has_description]- block contains link description and displays only if description is available[hasnt_description] [/hasnt_description]- only if description is not available[is_author] .. [/is_author]- displayed only for author of this link
/links/my.tpl:
{linksflow}- list of links (generated fromlink.single.tpltemplate)[has_pagination] {pagination} [/has_pagination]- displayed only if there are more then two pages
/admin/index.tpl:
{linksflow}- list of links (generated fromlink.single.tpltemplate){linksCount}- count of all links shortened through engine{linksToday}- count of links shortened today[no_links] .. [/no_links]- displayed if there is no links[has_pagination] {pagination} [/has_pagination]- displayed only if there are more then two pages
To short link, you need to send POST request to http://yoursite.com/api/short with next parameters:
- url - link to short. String.
- alias - custom alias for this url. String.
- password - password to protect url. String.
- lifetime - link lifetime. Integer. Allowed values:
- 1 - ten minutes
- 2 - one hour
- 3 - three hours
- 4 - one day
- 5 - one week
- 6 - one month
Example response:
{
"status":"success",
"data":{
"url":"https:\/\/github.com\/Vestride\/Shuffle",
"alias":"pYD",
"password":null,
"lifetime":"0",
"page_description":"Shuffle - Categorize, sort, and filter a responsive grid of items",
"page_title":"GitHub - Vestride\/Shuffle: Categorize, sort, and filter a responsive grid of items",
"visits":0,
"create_date":1462205128,
"author":"c47d80480ec94c168a1754a797fe167315e153cbbc6159d5816bbfd44716be50de8ff99e57a3366a"
}
}To delete shorten link, send GET request to http://yoursite.com/api/delete/<linkAlias>
View all info about shorten link - GET request to http://yoursite.com/api/<linkAlias>
All responses is in JSON format.
